Empirical
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
emp::IntPack< V1, Vs... > Struct Template Reference

#include <IntPack.h>

Public Types

using this_t = IntPack< V1, Vs... >
 
using pop = IntPack< Vs... >
 
template<int V>
using push = IntPack< V, V1, Vs... >
 
template<int V>
using push_back = IntPack< V1, Vs..., V >
 
template<int V, int X>
using push_if_not = typename internal::ip_push_if_not< V, X, this_t >::result
 
template<int V, int X>
using push_back_if_not = typename internal::ip_push_if_not< V, X, this_t >::back
 
template<int V>
using pop_val = typename internal::ip_loop< this_t, IntPack<>, false, 2 >::template pop_val< V >
 
template<int V>
using remove = typename internal::ip_loop< this_t, IntPack<>, false, 3 >::template remove< V >
 
template<typename T >
using append = typename internal::ip_concat< this_t, T >::result
 

Static Public Member Functions

static constexpr bool Has (int V)
 
static constexpr int Count (int V)
 
static constexpr int GetID (int V)
 
static constexpr int GetSize ()
 
static constexpr bool IsEmpty ()
 
static constexpr bool IsUnique ()
 
static constexpr int Sum ()
 
static constexpr int Product ()
 
static constexpr int Min (int cap)
 
static constexpr int Min ()
 
static constexpr int Max (int floor)
 
static constexpr int Max ()
 
static void PrintInts (std::ostream &os=std::cout)
 

Static Public Attributes

static constexpr int first = V1
 
static constexpr int SIZE = 1+sizeof...(Vs)
 

Member Typedef Documentation

template<int V1, int... Vs>
template<typename T >
using emp::IntPack< V1, Vs... >::append = typename internal::ip_concat<this_t,T>::result
template<int V1, int... Vs>
using emp::IntPack< V1, Vs... >::pop = IntPack<Vs...>
template<int V1, int... Vs>
template<int V>
using emp::IntPack< V1, Vs... >::pop_val = typename internal::ip_loop<this_t, IntPack<>, false, 2>::template pop_val<V>
template<int V1, int... Vs>
template<int V>
using emp::IntPack< V1, Vs... >::push = IntPack<V, V1, Vs...>
template<int V1, int... Vs>
template<int V>
using emp::IntPack< V1, Vs... >::push_back = IntPack<V1, Vs..., V>
template<int V1, int... Vs>
template<int V, int X>
using emp::IntPack< V1, Vs... >::push_back_if_not = typename internal::ip_push_if_not<V,X,this_t>::back
template<int V1, int... Vs>
template<int V, int X>
using emp::IntPack< V1, Vs... >::push_if_not = typename internal::ip_push_if_not<V,X,this_t>::result
template<int V1, int... Vs>
template<int V>
using emp::IntPack< V1, Vs... >::remove = typename internal::ip_loop<this_t, IntPack<>, false, 3>::template remove<V>
template<int V1, int... Vs>
using emp::IntPack< V1, Vs... >::this_t = IntPack<V1,Vs...>

Member Function Documentation

template<int V1, int... Vs>
static constexpr int emp::IntPack< V1, Vs... >::Count ( int  V)
inlinestatic
template<int V1, int... Vs>
static constexpr int emp::IntPack< V1, Vs... >::GetID ( int  V)
inlinestatic
template<int V1, int... Vs>
static constexpr int emp::IntPack< V1, Vs... >::GetSize ( )
inlinestatic
template<int V1, int... Vs>
static constexpr bool emp::IntPack< V1, Vs... >::Has ( int  V)
inlinestatic
template<int V1, int... Vs>
static constexpr bool emp::IntPack< V1, Vs... >::IsEmpty ( )
inlinestatic
template<int V1, int... Vs>
static constexpr bool emp::IntPack< V1, Vs... >::IsUnique ( )
inlinestatic
template<int V1, int... Vs>
static constexpr int emp::IntPack< V1, Vs... >::Max ( int  floor)
inlinestatic
template<int V1, int... Vs>
static constexpr int emp::IntPack< V1, Vs... >::Max ( )
inlinestatic
template<int V1, int... Vs>
static constexpr int emp::IntPack< V1, Vs... >::Min ( int  cap)
inlinestatic
template<int V1, int... Vs>
static constexpr int emp::IntPack< V1, Vs... >::Min ( )
inlinestatic
template<int V1, int... Vs>
static void emp::IntPack< V1, Vs... >::PrintInts ( std::ostream &  os = std::cout)
inlinestatic
template<int V1, int... Vs>
static constexpr int emp::IntPack< V1, Vs... >::Product ( )
inlinestatic
template<int V1, int... Vs>
static constexpr int emp::IntPack< V1, Vs... >::Sum ( )
inlinestatic

Member Data Documentation

template<int V1, int... Vs>
constexpr int emp::IntPack< V1, Vs... >::first = V1
static
template<int V1, int... Vs>
constexpr int emp::IntPack< V1, Vs... >::SIZE = 1+sizeof...(Vs)
static

The documentation for this struct was generated from the following file: