tinympl
0.2
mini MPL library for C++11
|
▼Ntinympl | |
►Nvariadic | |
Caccumulate | Alias for left_fold |
Call_of | Determines whether every element in the sequence satisfies the given predicate |
Cany_of | Determines whether any of the elements in the sequence satisfy the given predicate |
Capply | Return the result type of the metafunction class F called with arguments Args.,, |
Cas_sequence | Provide a customization points by allowing the user to specialize this class |
Cas_sequence< basic_string< T, ts...> > | Customization point to allow basic_string to work as a tinympl sequence |
Cas_sequence< Seq< Args...> > | Customization point to allow any variadic template type to work with tinympl |
Cas_sequence< vector< Args...> > | Customization point to allow vector to work as a tinympl sequence |
Cat | Get the i-th element of a sequence |
►Cbasic_string | A vector of values of type T |
Cbind | Produce a template type by binding the given arguments on the passed template template |
Ccopy | Copy the elements from the input sequence to the output sequence |
Ccopy_if | Copy the elements of a given input sequence which satisfy a given predicate - the ordering is preserved |
Ccopy_n | Copy the first N elements from the input sequence |
Ccount | Counts the number of elements in a sequence equal to a given one |
Ccount_if | Counts the number of elements which satisfy a given predicate |
Cdivides | Computes A /B where A and B are compile time constants |
Cequal_to | Determines whether the types A and B are equal |
Cerase | Remove a range in a given sequence |
Cfill_n | Fills an output sequence with N equal elements |
Cfind | Compute the index of the first element in the sequence which is equal to the given type T |
Cfind_if | |
Cgenerate_n | Generate N elements using a given generator metafunction |
Cgreater | Determines whether A is greater than B |
Cgreater_equal | Determines whether A is greater than or equal to B |
Cidentity | Returns the argument passed |
Cif_ | Returns A if C::value is true, otherwise B |
Cinherit | Construct a type inherited from the arguments |
Cinsert | Insert a subsequence into a given sequence at a given position |
Cis_bind_expression | Determine whether a type is a bind expression |
Cis_pair | Determine whether a type is an std::pair |
Cis_placeholder | Determine whether a type is a placeholder. is_placeholder<T>::value is 0 if T is not a placeholder, otherwise is the index of the placeholder |
Cis_sequence | Metafunction to determine if a given type is a sequence |
Cis_unique | Determines whether the input sequence contains only unique elements |
Cjoin | Merge two sequences |
Cleft_fold | Collapses a sequence starting from left using a functor |
Cless | Determines whether A is less than B |
Cless_equal | Determines whether A is less than or equal to B |
Clexicographical_compare | Compares two sequences using the given comparator |
Clogical_and | Computes the logical and of all its arguments |
Clogical_not | Negate the argument |
Clogical_or | Computes the logical or of all its arguments |
Cmake_basic_string | Construct a basic_string from a constexpr pointer to a null-terminated string |
►Cmap | A compile time map from a type to another This class represents a compile time mapping between types. The mapping is specified using std::pair , that is every parameter of map must be an std::pair<KeyType,ValueType> |
Cmax_element | Compute the index of the largest element in a sequence |
Cmin_element | Compute the index of the smallest element in a sequence |
Cminus | Computes A -B where A and B are compile time type constants |
Cmodulus | Computes A %B where A and B are compile time constants |
Cmultiplies | Multiplies its arguments |
Cnegate | Returns the opposite of the compile time constant A |
Cnone_of | Determines whether none of the elements in the sequence satisfy the given predicate |
Cnot_equal_to | Determines whether the types A and B are not equal |
Cplus | Sums its arguments |
Cremove | Remove all the elements equal to T from the input sequence |
Cremove_if | Remove the elements from the input sequence if they satisfy a given predicate |
Creplace | Replace all the elements in the input sequence equal to Old with New* |
Creplace_if | Replace all the elements in the input sequence which satisfy a given predicate with a given type T |
Creverse | Reverse the input sequence |
Cright_fold | Collapses a sequence starting from right using a functor |
Csequence | The main sequence type |
Cset_difference | Computes the difference between two sets |
Cset_intersection | Computes the intersection between two sets |
Cset_union | Computes the union of two sets |
Csize | Get the number of elements of a sequence |
Csizeof_ | Returns an std::integral_constant<std::size_t,V> where V is the compile time size of the input type |
Csort | Sort the input sequence according to a given comparison function |
Ctransform | Transform an input sequence using a transform function |
Ctransform2 | Transform two input sequences using a function |
Ctransform_many | Transform many input sequences using a function |
Ctranspose | Transpose a sequence of sequences |
Cunique | Produces a sequence of unique elements from the input sequence, preserving the ordering |
Cunordered_equal | Determines whether it is possible to reorder the sequence A to match exactly the sequence B |
►Cvalue_map | A compile time map from a compile-time value to another This class represents a compile time mapping between values. The first two parameters are respectively the type of the key and of the values. The mapping is specified using std::pair , that is every parameter of map must be an std::pair< std::integral_constant<KeyType,key>,std::integral_constant<ValueType,value> > |
►Cvector | A compile time vector of types Vector is the simplest tinympl sequence type. It provides standard modifiers and random access to its elements |
Czip | Construct a single sequence by zipping together multiple sequences |