C++ Library Extensions 2022.12.09
To help learn modern C++ programming
tpf::set Namespace Reference

Implements set operations. More...

Namespaces

namespace  hidden
 

Enumerations

enum class  sort_order { ascending , descending }
 
enum class  sort_method { dictionary , size }
 

Functions

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)
 

Detailed Description

Implements set operations.

Enumeration Type Documentation

◆ sort_method

enum class tpf::set::sort_method
strong
Enumerator
dictionary 
size 

Definition at line 62 of file tpf_set.hpp.

◆ sort_order

enum class tpf::set::sort_order
strong
Enumerator
ascending 
descending 

Definition at line 61 of file tpf_set.hpp.

Function Documentation

◆ build_permutations() [1/2]

template<typename NType , typename RType >
auto tpf::set::build_permutations ( NType  n,
RType  r 
)

Definition at line 1142 of file tpf_set.hpp.

Here is the call graph for this function:

◆ build_permutations() [2/2]

template<typename ThreadCountType , typename NType , typename RType >
auto tpf::set::build_permutations ( ThreadCountType  thread_count,
NType  n,
RType  r 
)

Definition at line 1110 of file tpf_set.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_permutations_flat() [1/2]

template<typename NType , typename RType >
auto tpf::set::build_permutations_flat ( NType  n,
RType  r 
)

Definition at line 1229 of file tpf_set.hpp.

Here is the call graph for this function:

◆ build_permutations_flat() [2/2]

template<typename ThreadCountType , typename NType , typename RType >
auto tpf::set::build_permutations_flat ( ThreadCountType  thread_count,
NType  n,
RType  r 
)

Definition at line 1200 of file tpf_set.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_permutations_remainder()

template<typename NType , typename RType >
auto tpf::set::build_permutations_remainder ( NType  n,
RType  r 
)

Definition at line 1170 of file tpf_set.hpp.

Here is the call graph for this function:

◆ build_subsets()

template<template< typename, typename... > class ContainerType, typename EleType , typename... Types>
ContainerType< ContainerType< EleType, Types... > > tpf::set::build_subsets ( const ContainerType< EleType, Types... > &  S,
size_t  count = InvalidIndex 
)

Definition at line 1259 of file tpf_set.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compare_greater_dictionary()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::compare_greater_dictionary ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 218 of file tpf_set.hpp.

Here is the call graph for this function:

◆ compare_greater_equal_dictionary()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::compare_greater_equal_dictionary ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 225 of file tpf_set.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compare_greater_equal_size()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::compare_greater_equal_size ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 253 of file tpf_set.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compare_greater_size()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::compare_greater_size ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 246 of file tpf_set.hpp.

Here is the call graph for this function:

◆ compare_less_dictionary()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::compare_less_dictionary ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 204 of file tpf_set.hpp.

Here is the call graph for this function:

◆ compare_less_equal_dictionary()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::compare_less_equal_dictionary ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 211 of file tpf_set.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compare_less_equal_size()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::compare_less_equal_size ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 239 of file tpf_set.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compare_less_size()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::compare_less_size ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 232 of file tpf_set.hpp.

Here is the call graph for this function:

◆ compare_sets_dictionary()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, int > tpf::set::compare_sets_dictionary ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 96 of file tpf_set.hpp.

Here is the caller graph for this function:

◆ compare_sets_size()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, int > tpf::set::compare_sets_size ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 140 of file tpf_set.hpp.

Here is the caller graph for this function:

◆ count_of_subsets()

template<typename Type >
constexpr auto tpf::set::count_of_subsets ( Type  element_count)
constexpr

Definition at line 65 of file tpf_set.hpp.

Here is the call graph for this function:

◆ difference() [1/2]

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
ContainerType< EleType, Types... > tpf::set::difference ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 573 of file tpf_set.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ difference() [2/2]

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
ContainerType< EleType, Types... > tpf::set::difference ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right1,
const ContainerType< EleType, Types... > &  right2 
)

Definition at line 588 of file tpf_set.hpp.

Here is the call graph for this function:

◆ enumerate_combination_with_exclude()

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 > > tpf::set::enumerate_combination_with_exclude ( SetContainer< EleType, ContainerTails... >  exclude_set,
SetContainer< EleType, ContainerTails... >  from_set,
CountType  r 
)

Definition at line 1326 of file tpf_set.hpp.

◆ intersection() [1/2]

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
ContainerType< EleType, Types... > tpf::set::intersection ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 537 of file tpf_set.hpp.

Here is the call graph for this function:

◆ intersection() [2/2]

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
ContainerType< EleType, Types... > tpf::set::intersection ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right1,
const ContainerType< EleType, Types... > &  right2 
)

Definition at line 555 of file tpf_set.hpp.

Here is the call graph for this function:

◆ is_in_container()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::is_in_container ( const EleType &  ele,
const ContainerType< EleType, Types... > &  container 
)

Definition at line 288 of file tpf_set.hpp.

Here is the caller graph for this function:

◆ is_in_unsorted_container()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::is_in_unsorted_container ( const EleType &  ele,
const ContainerType< EleType, Types... > &  container 
)

Definition at line 295 of file tpf_set.hpp.

Here is the caller graph for this function:

◆ is_sorted()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::is_sorted ( const ContainerType< EleType, Types... > &  container,
sort_order  order = sort_order::ascending,
sort_method  method = sort_method::size 
)

Definition at line 309 of file tpf_set.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ minimum_value_index() [1/2]

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, size_t > tpf::set::minimum_value_index ( const ContainerType< EleType, Types... > &  container)

Definition at line 1335 of file tpf_set.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ minimum_value_index() [2/2]

template<typename EleType , typename IndexType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, size_t > tpf::set::minimum_value_index ( const ContainerType< EleType, Types... > &  container,
const std::vector< IndexType > &  exclude_set 
)

Definition at line 1357 of file tpf_set.hpp.

Here is the call graph for this function:

◆ operator!=()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::operator!= ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 197 of file tpf_set.hpp.

◆ operator<()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::operator< ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 253 of file tpf_set.hpp.

◆ operator<=()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::operator<= ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 267 of file tpf_set.hpp.

Here is the call graph for this function:

◆ operator==()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::operator== ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 171 of file tpf_set.hpp.

◆ operator>()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::operator> ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 267 of file tpf_set.hpp.

◆ operator>=()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::operator>= ( const ContainerType< EleType, Types... > &  left,
const ContainerType< EleType, Types... > &  right 
)

Definition at line 281 of file tpf_set.hpp.

Here is the call graph for this function:

◆ smart_shrink_to_fit()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, void > tpf::set::smart_shrink_to_fit ( ContainerType< EleType, Types... > &  container,
size_t  factor = 2 
)

Definition at line 72 of file tpf_set.hpp.

Here is the caller graph for this function:

◆ sort()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
ContainerType< EleType > tpf::set::sort ( ContainerType< EleType, Types... >  container,
sort_order  order = sort_order::ascending,
sort_method  method = sort_method::size 
)

Definition at line 438 of file tpf_set.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sort_in_place()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types>
types::enable_if_container_type_t< ContainerType< EleType, Types... >, bool > tpf::set::sort_in_place ( ContainerType< EleType, Types... > &  container,
sort_order  order = sort_order::ascending,
sort_method  method = sort_method::size 
)

Definition at line 376 of file tpf_set.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ union_flat()

template<typename EleType , template< typename, typename... > class ContainerType, typename... Types1, typename... Types2>
ContainerType< EleType, Types1... > tpf::set::union_flat ( const ContainerType< ContainerType< EleType, Types1... >, Types2... > &  sets)

Definition at line 526 of file tpf_set.hpp.

◆ union_in_place() [1/2]

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 > > > tpf::set::union_in_place ( ContainerType< EleType, Types... > &  left,
RightContainerType &&  right 
)

Definition at line 449 of file tpf_set.hpp.

Here is the call graph for this function:

◆ union_in_place() [2/2]

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 > > > tpf::set::union_in_place ( ContainerType< EleType, Types... > &  left,
RightContainerType1 &&  right1,
RightContainerType2 &&  right2 
)

Definition at line 469 of file tpf_set.hpp.

Here is the call graph for this function:

◆ union_sets() [1/2]

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... > > tpf::set::union_sets ( ContainerType< EleType, Types... >  left,
RightContainerType &&  right 
)

Definition at line 493 of file tpf_set.hpp.

◆ union_sets() [2/2]

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... > > tpf::set::union_sets ( ContainerType< EleType, Types... >  left,
RightContainerType1 &&  right1,
RightContainerType2 &&  right2 
)

Definition at line 504 of file tpf_set.hpp.

Here is the call graph for this function: