C++ Library Extensions 2022.12.09
To help learn modern C++ programming
cpg::combinatorics::hidden Namespace Reference

Classes

struct  st_tail_get
 
struct  st_tail_no_op
 
struct  st_tail_remove
 
struct  st_tail_sort
 

Functions

template<typename ElementType >
auto product_base (std::vector< ElementType > const &A, std::vector< ElementType > const &B)
 
template<typename ElementType >
auto product_base (std::vector< std::vector< ElementType > > const &power_set, std::vector< ElementType > const &B)
 
template<typename ElementType , typename... VectorTypes>
auto product_base (std::vector< std::vector< ElementType > > const &power_set, std::vector< ElementType > const &A, std::vector< ElementType > const &B, VectorTypes &&... tails)
 
template<typename ElementType , typename... VectorTypes>
auto product_base (std::vector< ElementType > const &A, std::vector< ElementType > const &B, std::vector< ElementType > const &C, VectorTypes &&... tails)
 
template<typename SetWiseConstraintType , typename ElementType >
requires requires (SetWiseConstraintType constraint) { { constraint( std::vector<ElementType>{} ) } -> std::same_as<bool>; }
auto product_base (SetWiseConstraintType &&set_wise_constraint, std::vector< ElementType > const &A, std::vector< ElementType > const &B)
 
template<typename SetWiseConstraintType , typename ElementType >
requires requires (SetWiseConstraintType constraint) { { constraint( std::vector<ElementType>{} ) } -> std::same_as<bool>; }
auto product_base (SetWiseConstraintType &&set_wise_constraint, std::vector< std::vector< ElementType > > const &power_set, std::vector< ElementType > const &B)
 
template<typename SetWiseConstraintType , typename ElementType , typename... VectorTypes>
requires requires (SetWiseConstraintType constraint) { { constraint( std::vector<ElementType>{} ) } -> std::same_as<bool>; }
auto product_base (SetWiseConstraintType &&set_wise_constraint, std::vector< std::vector< ElementType > > const &power_set, std::vector< ElementType > const &A, std::vector< ElementType > const &B, VectorTypes &&... tails)
 
template<typename SetWiseConstraintType , typename ElementType , typename... VectorTypes>
requires requires (SetWiseConstraintType constraint) { { constraint( std::vector<ElementType>{} ) } -> std::same_as<bool>; }
auto product_base (SetWiseConstraintType &&set_wise_constraint, std::vector< ElementType > const &A, std::vector< ElementType > const &B, std::vector< ElementType > const &C, VectorTypes &&... tails)
 

Function Documentation

◆ product_base() [1/8]

template<typename SetWiseConstraintType , typename ElementType >
requires requires (SetWiseConstraintType constraint) { { constraint( std::vector<ElementType>{} ) } -> std::same_as<bool>; }
auto cpg::combinatorics::hidden::product_base ( SetWiseConstraintType &&  set_wise_constraint,
std::vector< ElementType > const &  A,
std::vector< ElementType > const &  B 
)

Definition at line 79 of file cpg_combinatorics.hpp.

◆ product_base() [2/8]

template<typename SetWiseConstraintType , typename ElementType , typename... VectorTypes>
requires requires (SetWiseConstraintType constraint) { { constraint( std::vector<ElementType>{} ) } -> std::same_as<bool>; }
auto cpg::combinatorics::hidden::product_base ( SetWiseConstraintType &&  set_wise_constraint,
std::vector< ElementType > const &  A,
std::vector< ElementType > const &  B,
std::vector< ElementType > const &  C,
VectorTypes &&...  tails 
)

Definition at line 142 of file cpg_combinatorics.hpp.

Here is the call graph for this function:

◆ product_base() [3/8]

template<typename SetWiseConstraintType , typename ElementType , typename... VectorTypes>
requires requires (SetWiseConstraintType constraint) { { constraint( std::vector<ElementType>{} ) } -> std::same_as<bool>; }
auto cpg::combinatorics::hidden::product_base ( SetWiseConstraintType &&  set_wise_constraint,
std::vector< std::vector< ElementType > > const &  power_set,
std::vector< ElementType > const &  A,
std::vector< ElementType > const &  B,
VectorTypes &&...  tails 
)

Definition at line 131 of file cpg_combinatorics.hpp.

Here is the call graph for this function:

◆ product_base() [4/8]

template<typename SetWiseConstraintType , typename ElementType >
requires requires (SetWiseConstraintType constraint) { { constraint( std::vector<ElementType>{} ) } -> std::same_as<bool>; }
auto cpg::combinatorics::hidden::product_base ( SetWiseConstraintType &&  set_wise_constraint,
std::vector< std::vector< ElementType > > const &  power_set,
std::vector< ElementType > const &  B 
)

Definition at line 104 of file cpg_combinatorics.hpp.

◆ product_base() [5/8]

template<typename ElementType >
auto cpg::combinatorics::hidden::product_base ( std::vector< ElementType > const &  A,
std::vector< ElementType > const &  B 
)

Definition at line 23 of file cpg_combinatorics.hpp.

Here is the caller graph for this function:

◆ product_base() [6/8]

template<typename ElementType , typename... VectorTypes>
auto cpg::combinatorics::hidden::product_base ( std::vector< ElementType > const &  A,
std::vector< ElementType > const &  B,
std::vector< ElementType > const &  C,
VectorTypes &&...  tails 
)

Definition at line 66 of file cpg_combinatorics.hpp.

Here is the call graph for this function:

◆ product_base() [7/8]

template<typename ElementType , typename... VectorTypes>
auto cpg::combinatorics::hidden::product_base ( std::vector< std::vector< ElementType > > const &  power_set,
std::vector< ElementType > const &  A,
std::vector< ElementType > const &  B,
VectorTypes &&...  tails 
)

Definition at line 59 of file cpg_combinatorics.hpp.

Here is the call graph for this function:

◆ product_base() [8/8]

template<typename ElementType >
auto cpg::combinatorics::hidden::product_base ( std::vector< std::vector< ElementType > > const &  power_set,
std::vector< ElementType > const &  B 
)

Definition at line 38 of file cpg_combinatorics.hpp.