![]() |
C++ Library Extensions 2022.12.09
To help learn modern C++ programming
|
Includes subnamespace conversion. More...
Namespaces | |
| namespace | bitwise |
| namespace | chrono_random |
| Implements random number generator and stop watch. | |
| namespace | container |
| namespace | conversion |
| String conversions are implemented. | |
| namespace | euclidean |
| Implements Euclidean Algorithm for GCD, LCM. | |
| namespace | graph |
| namespace | literals |
| namespace | matrix |
| Implements set operations. | |
| namespace | ncrnpr |
| Implements nCr, nPr. | |
| namespace | output |
| Stream output operators are defined. | |
| namespace | parallel |
| Implements set operations. | |
| namespace | prime |
| Implements set operations. | |
| namespace | rational |
| Implements set operations. | |
| namespace | safe_type |
| Defines safe type operation. | |
| namespace | set |
| Implements set operations. | |
| namespace | split_range |
| namespace | types |
| Type to string name conversions are defined. | |
Classes | |
| struct | boolean |
| class | debug_exception |
| This class implements all debugging requirements for C++ Library Extension. More... | |
| class | graph |
| struct | set_tag |
| struct | thread_bundle |
Typedefs | |
| using | sstream = output::string_stream |
| template<typename Type > | |
| using | remove_cv_ref_t = std::remove_cv_t< std::remove_reference_t< Type > > |
| Remove const volatile reference from Type. More... | |
| template<typename Type > | |
| using | decay_remove_cv_ref_t = std::remove_cv_t< std::remove_reference_t< std::decay_t< Type > > > |
| Decay, remove const, volatile, reference. More... | |
| template<typename Type > | |
| using | decay_remove_ref_t = std::remove_reference_t< std::decay_t< Type > > |
| Decay, remove reference. More... | |
| template<typename Type > | |
| using | primitive_type_t = remove_cv_ref_t< std::remove_pointer_t< decay_remove_cv_ref_t< Type > > > |
| Decay, remove const, volatile, reference, then remove pointer and remove const and volatile. More... | |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | set_element_t = typename SetTagType::set_element_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | set_t = typename SetTagType::set_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | sets_t = typename SetTagType::sets_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | set_of_sets_t = typename SetTagType::set_of_sets_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | sets_of_sets_t = typename SetTagType::sets_of_sets_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | duet_set_element_t = typename SetTagType::duet_set_element_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | duet_set_t = typename SetTagType::duet_set_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | duet_sets_t = typename SetTagType::duet_sets_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | duet_set_of_sets_t = typename SetTagType::duet_set_of_sets_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | duet_sets_of_sets_t = typename SetTagType::duet_sets_of_sets_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | set_of_duets_t = typename SetTagType::set_of_duets_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | trio_set_element_t = typename SetTagType::trio_set_element_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | trio_set_t = typename SetTagType::trio_set_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | trio_sets_t = typename SetTagType::trio_sets_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | trio_set_of_sets_t = typename SetTagType::trio_set_of_sets_t |
| template<typename SetTagType = set_tag<std::vector, int>> | |
| using | trio_sets_of_sets_t = typename SetTagType::trio_sets_of_sets_t |
| template<typename ElementType = int, typename NodeIndexType = int, template< typename, typename... > class NodeContainerType = std::list, template< typename, typename... > class IndexContainerType = std::vector> | |
| using | graph_t = graph< ElementType, NodeIndexType, NodeContainerType, IndexContainerType > |
Enumerations | |
| enum class | direction_t { left , right } |
Functions | |
| template<typename CallbackType , typename... ArgTypes> | |
| void | visit (const ncrnpr::range_t &range, CallbackType &&callback, ArgTypes &&... args) |
| Calls callback(args...) function in sequence. Iteration index is not passed to the callback() function. More... | |
| template<typename CallbackType , typename... ArgTypes> | |
| void | visit_parallel (unsigned int thread_count, const ncrnpr::range_t &range, CallbackType &&callback, ArgTypes &&... args) |
| Calls callback(args...) function in parallel. Iteration index is not passed to the callback() function. More... | |
| template<typename CallbackType , typename... ArgTypes> | |
| void | visit_index (const ncrnpr::range_t &range, CallbackType &&callback, ArgTypes &&... args) |
| Calls callback(index, args...) in sequence. Iteration index is passed to the callback() function. More... | |
| template<typename CallbackType , typename... ArgTypes> | |
| void | visit_index_parallel (unsigned int thread_count, const ncrnpr::range_t &range, CallbackType &&callback, ArgTypes &&... args) |
| calls callback(index, args...) in parallel. Iteration index is passed to the callback() as the first argument More... | |
| template<typename NRType , typename CallbackType , typename... ArgTypes> | |
| void | visit_permutations (NRType n, NRType r, const ncrnpr::range_t &range, CallbackType &&callback, ArgTypes &&... args) |
| Calls callback(enumerated_permutation, args...) in sequence. More... | |
| template<typename TCType , typename NRType , typename CallbackType , typename... ArgTypes> | |
| void | visit_permutations_parallel (TCType thread_count, NRType n, NRType r, CallbackType &&callback, ArgTypes &&... args) |
| Calls callback(enumerated_permutation, args...) in parallel. More... | |
| template<typename CallbackType , typename... ArgTypes> | |
| void | parallel_visit_permutations (const std::pair< size_t, size_t > permutation_specification, CallbackType &&callback, ArgTypes &&... args) |
| template<typename CallbackType , typename... ArgTypes> | |
| void | visit_combinations_and_offsets (const std::pair< size_t, size_t > &combination_specification, const ncrnpr::range_t &range, CallbackType &&callback, ArgTypes &&... args) |
| Calls callback(enumerated_combination, args...) in sequence enumerated_combination is generated and pass to the callback() as the first argument. More... | |
| template<typename NRType , typename CallbackType , typename... ArgTypes> | |
| void | visit_combinations (NRType n, NRType r, const ncrnpr::range_t &range, CallbackType &&callback, ArgTypes &&... args) |
| template<typename NRType , typename CallbackType , typename... ArgTypes> | |
| void | parallel_visit_combinations_and_complements (NRType n, NRType r, CallbackType &&callback, ArgTypes &&... args) |
| template<typename NRType , typename CallbackType , typename... ArgTypes> | |
| void | parallel_visit_combinations (NRType n, NRType r, CallbackType &&callback, ArgTypes &&... args) |
| template<typename ThreadCountType , typename CallbackType , typename... ArgTypes> | |
| void | visit_combinations_and_offsets_parallel (ThreadCountType thread_count, const std::pair< size_t, size_t > &combination_specification, CallbackType &&callback, ArgTypes &&... args) |
| Calls callback(enumerated_combination, args...) in parallel. More... | |
| template<typename Type_1 , typename Type_2 > | |
| auto | maximum (Type_1 a, Type_2 b) |
| template<typename Type_1 , typename Type_2 , typename... Types> | |
| auto | maximum (Type_1 a, Type_2 b, Types... args) |
| template<typename Type_1 , typename Type_2 > | |
| auto | minimum (Type_1 a, Type_2 b) |
| template<typename Type_1 , typename Type_2 , typename... Types> | |
| auto | minimum (Type_1 a, Type_2 b, Types... args) |
| template<typename Type > | |
| constexpr unsigned long long | two_power_n (Type n) |
| template<typename IndexType , typename ContainerType , typename container_t = tpf::remove_cv_ref_t<ContainerType>, typename iterator_type = typename container_t::iterator> | |
| auto | index_to_iterator (ContainerType &&cntr, IndexType &&index) |
| template<typename IndexType , typename ContainerType , typename container_t = tpf::remove_cv_ref_t<ContainerType>, typename reverse_iterator_type = typename container_t::reverse_iterator> | |
| auto | index_to_reverse_iterator (ContainerType &&cntr, IndexType &&offset) |
| template<typename ContainerType , typename container_t = tpf::remove_cv_ref_t<ContainerType>, typename iterator_type = typename container_t::iterator> | |
| auto | iterator_to_index (ContainerType &&cntr, iterator_type &&offset) |
| template<typename ContainerType , typename container_t = tpf::remove_cv_ref_t<ContainerType>, typename reverse_iterator_type = typename container_t::reverse_iterator> | |
| auto | reverse_iterator_to_index (ContainerType &&cntr, reverse_iterator_type &&offset) |
| template<typename ReverseIteratorType , typename reverse_iterator_type = std::remove_reference_t<ReverseIteratorType>> | |
| auto | reverse_iterator_to_iterator (ReverseIteratorType &&itr) |
| template<typename IteratorType , typename iterator_type = std::remove_reference_t<IteratorType>> | |
| auto | iterator_to_reverse_iterator (IteratorType &&itr) |
| template<direction_t direction = direction_t::left, typename ContainerType = std::vector<int>, typename container_t = tpf::remove_cv_ref_t<ContainerType>, typename iterator_type = typename container_t::iterator, typename reverse_iterator_type = typename container_t::reverse_iterator> | |
| auto | make_rotator (ContainerType &&cntr) |
| template<direction_t direction = direction_t::left, typename ContainerType = std::vector<int>, typename container_t = tpf::remove_cv_ref_t<ContainerType>, typename iterator_type = typename container_t::iterator, typename reverse_iterator_type = typename container_t::reverse_iterator, typename execution_policy_type = std::execution::parallel_unsequenced_policy> | |
| auto | make_rotator (ContainerType &&cntr, execution_policy_type policy) |
| template<typename ForwardIterator , typename EleType , typename CompareCallbackType = std::less<>> | |
| auto | find_range_iterators (ForwardIterator first, ForwardIterator last, const EleType &value, CompareCallbackType &&compare_callback=CompareCallbackType{}) |
| template<typename ForwardIterator , typename EleType , typename CompareCallbackType = std::less<>> | |
| auto | find_range_indices (ForwardIterator first, ForwardIterator last, const EleType &value, CompareCallbackType &&compare_callback=CompareCallbackType{}) |
| template<typename EleType , template< typename, typename... > class ContainerType, typename... Types, typename CompareCallbackType = std::less<>> | |
| auto | find_range_iterators (const ContainerType< EleType, Types... > &container, const EleType &value, CompareCallbackType &&compare_callback=CompareCallbackType{}) |
| template<typename EleType , template< typename, typename... > class ContainerType, typename... Types, typename CompareCallbackType = std::less<>> | |
| auto | find_range_indices (const ContainerType< EleType, Types... > &container, const EleType &value, CompareCallbackType &&compare_callback=CompareCallbackType{}) |
| template<typename ForwardIterator , typename EleType , typename CompareCallbackType = std::less<>> | |
| auto | binary_find_iterator (ForwardIterator first, ForwardIterator last, const EleType &value, CompareCallbackType &&compare_callback=CompareCallbackType{}) |
| template<typename ForwardIterator , typename EleType , typename CompareCallbackType = std::less<>> | |
| auto | binary_find_index (ForwardIterator first, ForwardIterator last, const EleType &value, CompareCallbackType &&compare_callback=CompareCallbackType{}) |
| template<typename EleType , template< typename, typename... > class ContainerType, typename... Types, typename CompareCallbackType = std::less<>> | |
| auto | binary_find_iterator (const ContainerType< EleType, Types... > &container, const EleType &value, CompareCallbackType &&compare_callback=CompareCallbackType{}) |
| template<typename ForwardIterator , typename EleType , typename CompareCallbackType = std::less<>> | |
| auto | binary_find_bool_iterator_pair (ForwardIterator first, ForwardIterator last, const EleType &value, CompareCallbackType &&compare_callback=CompareCallbackType{}) |
| template<typename EleType , template< typename, typename... > class ContainerType, typename... Types, typename CompareCallbackType = std::less<>> | |
| auto | binary_find_bool_iterator_pair (const ContainerType< EleType, Types... > &container, const EleType &value, CompareCallbackType &&compare_callback=CompareCallbackType{}) |
| template<typename EleType , template< typename, typename... > class ContainerType, typename... Types, typename CompareCallbackType = std::less<>> | |
| auto | binary_find_index (const ContainerType< EleType, Types... > &container, const EleType &value, CompareCallbackType &&compare_callback=CompareCallbackType{}) |
| template<typename ForwardIterator , typename EleType , typename CompareCallbackType = std::less<>> | |
| auto | binary_find_bool_index_pair (ForwardIterator first, ForwardIterator last, const EleType &value, CompareCallbackType &&compare_callback=CompareCallbackType{}) |
| template<typename EleType , template< typename, typename... > class ContainerType, typename... Types, typename CompareCallbackType = std::less<>> | |
| auto | binary_find_bool_index_pair (const ContainerType< EleType, Types... > &container, const EleType &value, CompareCallbackType &&compare_callback=CompareCallbackType{}) |
| template<typename ContainerType , typename IndexType > | |
| decltype(auto) | get_element (ContainerType container, IndexType index) |
| template<template< typename, typename... > class ContainerType, typename Type , typename... Types> | |
| decltype(auto) | make_random_access_container (Type &&arg, Types &&... args) |
| template<typename Type , typename... Types> | |
| decltype(auto) | make_vector (Type &&arg, Types &&... args) |
| template<typename Type , typename... Types> | |
| decltype(auto) | make_deque (Type &&arg, Types &&... args) |
| template<typename Type , typename... Types> | |
| decltype(auto) | make_container (Type &&arg, Types &&... args) |
| template<template< typename, typename... > class ContainerType, typename Type , typename... Types> | |
| decltype(auto) | make_container (Type &&arg, Types &&... args) |
| template<typename Type , typename... Types> | |
| decltype(auto) | create_container (Type &&arg, Types &&... args) |
| template<typename Type , typename... Types> | |
| decltype(auto) | make_variants (Type &&arg, Types &&... args) |
| template<typename ContainerType > | |
| decltype(auto) | reverse (ContainerType &&container) |
| template<typename ElementType , size_t ElementCount> | |
| decltype(auto) | reverse (ElementType(&array)[ElementCount]) |
| template<typename Type , typename... Types> | |
| decltype(auto) | reverse (Type &&arg, Types &&... args) |
| template<typename IndexType , typename ContainerType , typename iterator_type > | |
| auto | index_to_iterator (ContainerType &&cntr, IndexType &&index) |
| template<typename IndexType , typename ContainerType , typename reverse_iterator_type > | |
| auto | index_to_reverse_iterator (ContainerType &&cntr, IndexType &&index) |
| template<typename ContainerType , typename iterator_type > | |
| auto | iterator_to_index (ContainerType &&cntr, iterator_type &&itr) |
| template<typename ContainerType , typename reverse_iterator_type > | |
| auto | reverse_iterator_to_index (ContainerType &&cntr, reverse_iterator_type &&rev_itr) |
Variables | |
| constexpr auto | flush = output::flush_stream{} |
| constexpr auto | nl = output::new_line{} |
| constexpr auto | nL = output::new_Line{} |
| constexpr auto | endl = output::new_line_flush{} |
| constexpr auto | endL = output::new_Line_flush{} |
| template<typename Type > | |
| constexpr bool | is_const_v = std::is_const_v<std::remove_reference_t<Type>> |
| template<typename Type > | |
| constexpr bool | is_const_reference_v |
| Test if Type is reference to const object. More... | |
Includes subnamespace conversion.
includes subnamespace output.
Root namespace for C++ Extension Library.
| using tpf::decay_remove_cv_ref_t = typedef std::remove_cv_t<std::remove_reference_t<std::decay_t<Type> >> |
Decay, remove const, volatile, reference.
| Type |
Definition at line 162 of file tpf_types.hpp.
| using tpf::decay_remove_ref_t = typedef std::remove_reference_t<std::decay_t<Type> > |
| using tpf::duet_set_element_t = typedef typename SetTagType::duet_set_element_t |
Definition at line 1978 of file tpf_types.hpp.
| using tpf::duet_set_of_sets_t = typedef typename SetTagType::duet_set_of_sets_t |
Definition at line 1987 of file tpf_types.hpp.
| using tpf::duet_set_t = typedef typename SetTagType::duet_set_t |
Definition at line 1981 of file tpf_types.hpp.
| using tpf::duet_sets_of_sets_t = typedef typename SetTagType::duet_sets_of_sets_t |
Definition at line 1990 of file tpf_types.hpp.
| using tpf::duet_sets_t = typedef typename SetTagType::duet_sets_t |
Definition at line 1984 of file tpf_types.hpp.
| using tpf::graph_t = typedef graph<ElementType, NodeIndexType, NodeContainerType, IndexContainerType> |
Definition at line 165 of file 059-graph01.hpp.
| using tpf::primitive_type_t = typedef remove_cv_ref_t<std::remove_pointer_t<decay_remove_cv_ref_t<Type> >> |
Decay, remove const, volatile, reference, then remove pointer and remove const and volatile.
| Type |
Definition at line 178 of file tpf_types.hpp.
| using tpf::remove_cv_ref_t = typedef std::remove_cv_t<std::remove_reference_t<Type> > |
Remove const volatile reference from Type.
| Type | for remove const volatile and reference. |
Definition at line 151 of file tpf_types.hpp.
| using tpf::set_element_t = typedef typename SetTagType::set_element_t |
Definition at line 1963 of file tpf_types.hpp.
| using tpf::set_of_duets_t = typedef typename SetTagType::set_of_duets_t |
Definition at line 1993 of file tpf_types.hpp.
| using tpf::set_of_sets_t = typedef typename SetTagType::set_of_sets_t |
Definition at line 1972 of file tpf_types.hpp.
| using tpf::set_t = typedef typename SetTagType::set_t |
Definition at line 1966 of file tpf_types.hpp.
| using tpf::sets_of_sets_t = typedef typename SetTagType::sets_of_sets_t |
Definition at line 1975 of file tpf_types.hpp.
| using tpf::sets_t = typedef typename SetTagType::sets_t |
Definition at line 1969 of file tpf_types.hpp.
| using tpf::sstream = typedef output::string_stream |
Definition at line 969 of file tpf_output.hpp.
| using tpf::trio_set_element_t = typedef typename SetTagType::trio_set_element_t |
Definition at line 1996 of file tpf_types.hpp.
| using tpf::trio_set_of_sets_t = typedef typename SetTagType::trio_set_of_sets_t |
Definition at line 2005 of file tpf_types.hpp.
| using tpf::trio_set_t = typedef typename SetTagType::trio_set_t |
Definition at line 1999 of file tpf_types.hpp.
| using tpf::trio_sets_of_sets_t = typedef typename SetTagType::trio_sets_of_sets_t |
Definition at line 2008 of file tpf_types.hpp.
| using tpf::trio_sets_t = typedef typename SetTagType::trio_sets_t |
Definition at line 2002 of file tpf_types.hpp.
|
strong |
| Enumerator | |
|---|---|
| left | |
| right | |
Definition at line 143 of file tpf_types.hpp.
| auto tpf::binary_find_bool_index_pair | ( | const ContainerType< EleType, Types... > & | container, |
| const EleType & | value, | ||
| CompareCallbackType && | compare_callback = CompareCallbackType{} |
||
| ) |
Definition at line 1629 of file tpf_types.hpp.
| auto tpf::binary_find_bool_index_pair | ( | ForwardIterator | first, |
| ForwardIterator | last, | ||
| const EleType & | value, | ||
| CompareCallbackType && | compare_callback = CompareCallbackType{} |
||
| ) |
Definition at line 1615 of file tpf_types.hpp.
| auto tpf::binary_find_bool_iterator_pair | ( | const ContainerType< EleType, Types... > & | container, |
| const EleType & | value, | ||
| CompareCallbackType && | compare_callback = CompareCallbackType{} |
||
| ) |
Definition at line 1598 of file tpf_types.hpp.
| auto tpf::binary_find_bool_iterator_pair | ( | ForwardIterator | first, |
| ForwardIterator | last, | ||
| const EleType & | value, | ||
| CompareCallbackType && | compare_callback = CompareCallbackType{} |
||
| ) |
| auto tpf::binary_find_index | ( | const ContainerType< EleType, Types... > & | container, |
| const EleType & | value, | ||
| CompareCallbackType && | compare_callback = CompareCallbackType{} |
||
| ) |
Definition at line 1607 of file tpf_types.hpp.
| auto tpf::binary_find_index | ( | ForwardIterator | first, |
| ForwardIterator | last, | ||
| const EleType & | value, | ||
| CompareCallbackType && | compare_callback = CompareCallbackType{} |
||
| ) |
| auto tpf::binary_find_iterator | ( | const ContainerType< EleType, Types... > & | container, |
| const EleType & | value, | ||
| CompareCallbackType && | compare_callback = CompareCallbackType{} |
||
| ) |
Definition at line 1578 of file tpf_types.hpp.
| auto tpf::binary_find_iterator | ( | ForwardIterator | first, |
| ForwardIterator | last, | ||
| const EleType & | value, | ||
| CompareCallbackType && | compare_callback = CompareCallbackType{} |
||
| ) |
Definition at line 1556 of file tpf_types.hpp.
| decltype(auto) tpf::create_container | ( | Type && | arg, |
| Types &&... | args | ||
| ) |
| auto tpf::find_range_indices | ( | const ContainerType< EleType, Types... > & | container, |
| const EleType & | value, | ||
| CompareCallbackType && | compare_callback = CompareCallbackType{} |
||
| ) |
Definition at line 1548 of file tpf_types.hpp.
| auto tpf::find_range_indices | ( | ForwardIterator | first, |
| ForwardIterator | last, | ||
| const EleType & | value, | ||
| CompareCallbackType && | compare_callback = CompareCallbackType{} |
||
| ) |
Definition at line 1528 of file tpf_types.hpp.
| auto tpf::find_range_iterators | ( | const ContainerType< EleType, Types... > & | container, |
| const EleType & | value, | ||
| CompareCallbackType && | compare_callback = CompareCallbackType{} |
||
| ) |
Definition at line 1539 of file tpf_types.hpp.
| auto tpf::find_range_iterators | ( | ForwardIterator | first, |
| ForwardIterator | last, | ||
| const EleType & | value, | ||
| CompareCallbackType && | compare_callback = CompareCallbackType{} |
||
| ) |
| decltype(auto) tpf::get_element | ( | ContainerType | container, |
| IndexType | index | ||
| ) |
| auto tpf::index_to_iterator | ( | ContainerType && | cntr, |
| IndexType && | index | ||
| ) |
|
inline |
Definition at line 7977 of file tpf_types.hpp.
|
inline |
Definition at line 7986 of file tpf_types.hpp.
| auto tpf::index_to_reverse_iterator | ( | ContainerType && | cntr, |
| IndexType && | offset | ||
| ) |
|
inline |
Definition at line 7996 of file tpf_types.hpp.
| auto tpf::iterator_to_index | ( | ContainerType && | cntr, |
| iterator_type && | offset | ||
| ) |
|
inline |
Definition at line 1498 of file tpf_types.hpp.
| decltype(auto) tpf::make_container | ( | Type && | arg, |
| Types &&... | args | ||
| ) |
Definition at line 7923 of file tpf_types.hpp.
| decltype(auto) tpf::make_container | ( | Type && | arg, |
| Types &&... | args | ||
| ) |
Definition at line 7930 of file tpf_types.hpp.
| decltype(auto) tpf::make_deque | ( | Type && | arg, |
| Types &&... | args | ||
| ) |
| decltype(auto) tpf::make_random_access_container | ( | Type && | arg, |
| Types &&... | args | ||
| ) |
Definition at line 7905 of file tpf_types.hpp.
| auto tpf::make_rotator | ( | ContainerType && | cntr | ) |
Definition at line 8013 of file tpf_types.hpp.
| auto tpf::make_rotator | ( | ContainerType && | cntr, |
| execution_policy_type | policy | ||
| ) |
Definition at line 8069 of file tpf_types.hpp.
| decltype(auto) tpf::make_variants | ( | Type && | arg, |
| Types &&... | args | ||
| ) |
Definition at line 7951 of file tpf_types.hpp.
| decltype(auto) tpf::make_vector | ( | Type && | arg, |
| Types &&... | args | ||
| ) |
Definition at line 7911 of file tpf_types.hpp.
| auto tpf::maximum | ( | Type_1 | a, |
| Type_2 | b | ||
| ) |
| auto tpf::maximum | ( | Type_1 | a, |
| Type_2 | b, | ||
| Types... | args | ||
| ) |
| auto tpf::minimum | ( | Type_1 | a, |
| Type_2 | b | ||
| ) |
| auto tpf::minimum | ( | Type_1 | a, |
| Type_2 | b, | ||
| Types... | args | ||
| ) |
| void tpf::parallel_visit_combinations | ( | NRType | n, |
| NRType | r, | ||
| CallbackType && | callback, | ||
| ArgTypes &&... | args | ||
| ) |
Definition at line 1872 of file tpf_ncrnpr.hpp.
| void tpf::parallel_visit_combinations_and_complements | ( | NRType | n, |
| NRType | r, | ||
| CallbackType && | callback, | ||
| ArgTypes &&... | args | ||
| ) |
Definition at line 1836 of file tpf_ncrnpr.hpp.
| void tpf::parallel_visit_permutations | ( | const std::pair< size_t, size_t > | permutation_specification, |
| CallbackType && | callback, | ||
| ArgTypes &&... | args | ||
| ) |
Definition at line 1739 of file tpf_ncrnpr.hpp.
| decltype(auto) tpf::reverse | ( | ContainerType && | container | ) |
Definition at line 7959 of file tpf_types.hpp.
| decltype(auto) tpf::reverse | ( | ElementType(&) | array[ElementCount] | ) |
| decltype(auto) tpf::reverse | ( | Type && | arg, |
| Types &&... | args | ||
| ) |
Definition at line 7971 of file tpf_types.hpp.
| auto tpf::reverse_iterator_to_index | ( | ContainerType && | cntr, |
| reverse_iterator_type && | offset | ||
| ) |
|
inline |
Definition at line 8002 of file tpf_types.hpp.
|
inline |
Definition at line 1491 of file tpf_types.hpp.
|
constexpr |
| void tpf::visit | ( | const ncrnpr::range_t & | range, |
| CallbackType && | callback, | ||
| ArgTypes &&... | args | ||
| ) |
Calls callback(args...) function in sequence. Iteration index is not passed to the callback() function.
| CallbackType | |
| ArgTypes |
| range | for the iteration range [start, end) |
| callback | for Callback routine |
| args | for callback(args...) |
Definition at line 1545 of file tpf_ncrnpr.hpp.
| void tpf::visit_combinations | ( | NRType | n, |
| NRType | r, | ||
| const ncrnpr::range_t & | range, | ||
| CallbackType && | callback, | ||
| ArgTypes &&... | args | ||
| ) |
| void tpf::visit_combinations_and_offsets | ( | const std::pair< size_t, size_t > & | combination_specification, |
| const ncrnpr::range_t & | range, | ||
| CallbackType && | callback, | ||
| ArgTypes &&... | args | ||
| ) |
Calls callback(enumerated_combination, args...) in sequence enumerated_combination is generated and pass to the callback() as the first argument.
| CallbackType | |
| ArgTypes |
| combination_specification | for nCr or (n, r), the binomial coefficient |
| range | for [start, end) where start <= end, 0 <= start, or end <= nCr |
| callback | for Callback routine. |
| args | for callback(enumerated_combination, args...) |
Definition at line 1789 of file tpf_ncrnpr.hpp.
| void tpf::visit_combinations_and_offsets_parallel | ( | ThreadCountType | thread_count, |
| const std::pair< size_t, size_t > & | combination_specification, | ||
| CallbackType && | callback, | ||
| ArgTypes &&... | args | ||
| ) |
Calls callback(enumerated_combination, args...) in parallel.
| ThreadCountType | |
| CallbackType | |
| ArgTypes |
| thread_count | for number of the concurrent threads to execute callback() |
| combination_specification | for nCr, or (n, r) |
| callback | for Callback routine |
| args | for callback(enumerated_combination, args...) |
Definition at line 1921 of file tpf_ncrnpr.hpp.
| void tpf::visit_index | ( | const ncrnpr::range_t & | range, |
| CallbackType && | callback, | ||
| ArgTypes &&... | args | ||
| ) |
Calls callback(index, args...) in sequence. Iteration index is passed to the callback() function.
| CallbackType | |
| ArgTypes |
| range | for the iteration range [start, end) |
| callback | for Callback routine. |
| args | for callback(index, args...) |
Definition at line 1611 of file tpf_ncrnpr.hpp.
| void tpf::visit_index_parallel | ( | unsigned int | thread_count, |
| const ncrnpr::range_t & | range, | ||
| CallbackType && | callback, | ||
| ArgTypes &&... | args | ||
| ) |
calls callback(index, args...) in parallel. Iteration index is passed to the callback() as the first argument
| CallbackType | |
| ArgTypes |
| thread_count | for the number of concurrent threads to execute callback() function |
| range | for the iteration range [start, end) |
| callback | for Callback routine |
| args | for callback(index, args...) |
Definition at line 1631 of file tpf_ncrnpr.hpp.
| void tpf::visit_parallel | ( | unsigned int | thread_count, |
| const ncrnpr::range_t & | range, | ||
| CallbackType && | callback, | ||
| ArgTypes &&... | args | ||
| ) |
Calls callback(args...) function in parallel. Iteration index is not passed to the callback() function.
| CallbackType | |
| ArgTypes |
| thread_count | for the number of concurrent threads to execute callback() |
| range | for the iteration range [start, end) |
| callback | for Callback routine to call concurrently |
| args | for callback(args...) |
Definition at line 1565 of file tpf_ncrnpr.hpp.
| void tpf::visit_permutations | ( | NRType | n, |
| NRType | r, | ||
| const ncrnpr::range_t & | range, | ||
| CallbackType && | callback, | ||
| ArgTypes &&... | args | ||
| ) |
Calls callback(enumerated_permutation, args...) in sequence.
| NRType | |
| CallbackType | |
| ArgTypes |
| n | for n in nPr |
| r | for r in nPr |
| range | for the iteration range [start, end) |
| callback | for Callback routine |
| args | for callback(enumerated_permutation, args...) |
Definition at line 1676 of file tpf_ncrnpr.hpp.
| void tpf::visit_permutations_parallel | ( | TCType | thread_count, |
| NRType | n, | ||
| NRType | r, | ||
| CallbackType && | callback, | ||
| ArgTypes &&... | args | ||
| ) |
Calls callback(enumerated_permutation, args...) in parallel.
| TCType | |
| NRType | |
| CallbackType | |
| ArgTypes |
| thread_count | for number of the concurrent threads to execute callback() |
| n | for n in nPr |
| r | for r in nPr |
| callback | for Callback routine |
| args | for callback(enumerated_permutation, args...) |
Definition at line 1706 of file tpf_ncrnpr.hpp.
|
constexpr |
Definition at line 973 of file tpf_output.hpp.
|
constexpr |
Definition at line 974 of file tpf_output.hpp.
|
constexpr |
Definition at line 970 of file tpf_output.hpp.
|
constexpr |
Test if Type is reference to const object.
| Type |
Definition at line 216 of file tpf_types.hpp.
|
constexpr |
Definition at line 154 of file tpf_types.hpp.
|
constexpr |
Definition at line 971 of file tpf_output.hpp.
|
constexpr |
Definition at line 972 of file tpf_output.hpp.