|
PLaSK library
|
This file contains tools which provide compatibility with STL containers, etc. More...
#include <algorithm>#include <cstddef>#include <tuple>#include <type_traits>Go to the source code of this file.
Classes | |
| struct | plask::VariadicTemplateTypesHolder< Types > |
| struct | plask::AssignWithBackup< T > |
| Assign new value to variable and back the old value in destructor. More... | |
| struct | plask::indices<... > |
| Don't use this directly, use applyTuple instead. More... | |
| struct | plask::make_seq_indices_impl< Begin, End, indices< Indices... > > |
| struct | plask::make_seq_indices_impl< End, End, indices< Indices... > > |
| struct | plask::DontCopyThisField< T > |
| This template can be used to show fileds shich should be just ignore by copy constructors and assign operators of the class. More... | |
Namespaces | |
| namespace | plask |
| Patterson quadrature for complex function along specified line. | |
Typedefs | |
| template<std::size_t Begin, std::size_t End> | |
| using | plask::make_seq_indices = typename make_seq_indices_impl< Begin, End, indices<> >::type |
| template<typename F > | |
| using | plask::return_type = typename std::result_of< F >::type |
Functions | |
| template<typename map_t > | |
| map_t::mapped_type | plask::map_find (map_t &map, const typename map_t::key_type &to_find, typename map_t::mapped_type &&if_not_found=nullptr) |
| Try find value in map by key and return if_not_found value if object was not found. | |
| template<typename Iter , typename Val > | |
| Iter | plask::find_nearest_using_lower_bound (Iter begin, Iter end, const Val &to_find, Iter lower_bound) |
Find position in ascending ordered, radnom access, sequence [begin, end) of floats or doubles nearest to to_find. | |
| template<typename Iter , typename Val > | |
| Iter | plask::find_nearest_binary (Iter begin, Iter end, const Val &to_find) |
Find position in ascending ordered, radnom access, sequence [begin, end) of floats or doubles nearest to to_find. | |
| template<typename ForwadIterator > | |
| std::ostream & | plask::printRange (std::ostream &out, ForwadIterator begin, ForwadIterator end, const char *separator=", ") |
Print range separating elements by separator (which is not printed after last element). | |
| template<typename Tuple > | |
| constexpr std::size_t | plask::tuple_size () |
| template<typename Op , typename T , template< std::size_t... > class I, std::size_t... Indices> | |
| constexpr auto | plask::apply_tuple_return_type_impl (Op &&op, T &&t, I< Indices... >) -> return_type< Op(decltype(std::get< Indices >(std::forward< T >(t)))...)> |
| template<typename Op , typename T > | |
| constexpr auto | plask::apply_tuple_return_type (Op &&op, T &&t) -> decltype(apply_tuple_return_type_impl(op, t, make_seq_indices< 0, tuple_size< T >()>{})) |
| template<typename Ret , typename Op , typename T , template< std::size_t... > class I, std::size_t... Indices> | |
| Ret | plask::apply_tuple (Op &&op, T &&t, I< Indices... >) |
| template<typename Op , typename Tuple > | |
| auto | plask::apply_tuple (Op &&op, Tuple &&t) -> decltype(apply_tuple_return_type(std::forward< Op >(op), std::forward< Tuple >(t))) |
Call f using arguments from tuple. | |
This file contains tools which provide compatibility with STL containers, etc.
Definition in file stl.hpp.