|
template<typename Type > |
constexpr auto | count_of_subsets (Type element_count) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, void > | smart_shrink_to_fit (ContainerType< EleType, Types... > &container, size_t factor=2) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, int > | compare_sets_dictionary (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, int > | compare_sets_size (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | operator== (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | operator!= (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | compare_less_dictionary (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | compare_less_equal_dictionary (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | compare_greater_dictionary (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | compare_greater_equal_dictionary (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | compare_less_size (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | compare_less_equal_size (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | compare_greater_size (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | compare_greater_equal_size (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | operator< (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | operator> (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | operator<= (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | operator>= (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | is_in_container (const EleType &ele, const ContainerType< EleType, Types... > &container) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | is_in_unsorted_container (const EleType &ele, const ContainerType< EleType, Types... > &container) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | is_sorted (const ContainerType< EleType, Types... > &container, sort_order order=sort_order::ascending, sort_method method=sort_method::size) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > | sort_in_place (ContainerType< EleType, Types... > &container, sort_order order=sort_order::ascending, sort_method method=sort_method::size) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
ContainerType< EleType > | sort (ContainerType< EleType, Types... > container, sort_order order=sort_order::ascending, sort_method method=sort_method::size) |
|
template<template< typename, typename... > class ContainerType, typename EleType , typename RightContainerType , typename... Types> |
std::enable_if_t< std::is_same_v< ContainerType< EleType, Types... >, remove_cv_ref_t< RightContainerType > > > | union_in_place (ContainerType< EleType, Types... > &left, RightContainerType &&right) |
|
template<template< typename, typename... > class ContainerType, typename EleType , typename RightContainerType1 , typename RightContainerType2 , typename... Types> |
std::enable_if_t< std::is_same_v< ContainerType< EleType, Types... >, remove_cv_ref_t< RightContainerType1 > > &&std::is_same_v< ContainerType< EleType, Types... >, remove_cv_ref_t< RightContainerType2 > > > | union_in_place (ContainerType< EleType, Types... > &left, RightContainerType1 &&right1, RightContainerType2 &&right2) |
|
template<template< typename, typename... > class ContainerType, typename EleType , typename RightContainerType , typename... Types> |
std::enable_if_t< std::is_same_v< ContainerType< EleType, Types... >, remove_cv_ref_t< RightContainerType > >, ContainerType< EleType, Types... > > | union_sets (ContainerType< EleType, Types... > left, RightContainerType &&right) |
|
template<template< typename, typename... > class ContainerType, typename EleType , typename RightContainerType1 , typename RightContainerType2 , typename... Types> |
std::enable_if_t< std::is_same_v< ContainerType< EleType, Types... >, remove_cv_ref_t< RightContainerType1 > > &&std::is_same_v< ContainerType< EleType, Types... >, remove_cv_ref_t< RightContainerType2 > >, ContainerType< EleType, Types... > > | union_sets (ContainerType< EleType, Types... > left, RightContainerType1 &&right1, RightContainerType2 &&right2) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types1, typename... Types2> |
ContainerType< EleType, Types1... > | union_flat (const ContainerType< ContainerType< EleType, Types1... >, Types2... > &sets) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
ContainerType< EleType, Types... > | intersection (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
ContainerType< EleType, Types... > | intersection (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right1, const ContainerType< EleType, Types... > &right2) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
ContainerType< EleType, Types... > | difference (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
ContainerType< EleType, Types... > | difference (const ContainerType< EleType, Types... > &left, const ContainerType< EleType, Types... > &right1, const ContainerType< EleType, Types... > &right2) |
|
template<typename ThreadCountType , typename NType , typename RType > |
auto | build_permutations (ThreadCountType thread_count, NType n, RType r) |
|
template<typename NType , typename RType > |
auto | build_permutations (NType n, RType r) |
|
template<typename NType , typename RType > |
auto | build_permutations_remainder (NType n, RType r) |
|
template<typename ThreadCountType , typename NType , typename RType > |
auto | build_permutations_flat (ThreadCountType thread_count, NType n, RType r) |
|
template<typename NType , typename RType > |
auto | build_permutations_flat (NType n, RType r) |
|
template<template< typename, typename... > class ContainerType, typename EleType , typename... Types> |
ContainerType< ContainerType< EleType, Types... > > | build_subsets (const ContainerType< EleType, Types... > &S, size_t count=InvalidIndex) |
|
template<template< typename, typename... > class ReturnContainer = std::vector, template< typename, typename... > class SetContainer = std::list, typename... ContainerTails, typename EleType = int, typename CountType = int> |
ReturnContainer< ReturnContainer< EleType > > | enumerate_combination_with_exclude (SetContainer< EleType, ContainerTails... > exclude_set, SetContainer< EleType, ContainerTails... > from_set, CountType r) |
|
template<typename EleType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, size_t > | minimum_value_index (const ContainerType< EleType, Types... > &container) |
|
template<typename EleType , typename IndexType , template< typename, typename... > class ContainerType, typename... Types> |
types::enable_if_container_type_t< ContainerType< EleType, Types... >, size_t > | minimum_value_index (const ContainerType< EleType, Types... > &container, const std::vector< IndexType > &exclude_set) |
|