|
| class | AccurateFloat |
| | minimalistic wrapper for MPFR numbers More...
|
| |
| struct | AnyString |
| |
| class | Array |
| | Container class with constant time random access. More...
|
| |
| class | Bitset |
| | Container class for dense sets of integers. More...
|
| |
| class | conv |
| | Explicit type converter. More...
|
| |
| struct | Div |
| | result of integer division of two numbers (a,b) More...
|
| |
| class | EdgeMap |
| | data structure to store data at the edges of a Graph More...
|
| |
| class | EquivalenceRelation |
| | An equivalence relation on the integers 0,..,n-1 for a given size n. More...
|
| |
| struct | ExtGCD |
| | result of the extended gcd calculation for two numbers (a, b) More...
|
| |
| class | FaceMap |
| |
| class | FacetList |
| |
| class | GenericGraph |
| | Generic type for all graph classes. More...
|
| |
| class | GenericMatrix |
| | Generic type for matrices More...
|
| |
| class | GenericSet |
| | Generic type for ordered sets More...
|
| |
| class | GenericVector |
| | Generic type for vectors More...
|
| |
| class | Graph |
| | Directed or undirected finite graphs. More...
|
| |
| class | Heap |
| |
| class | HSV |
| | Color description in HSV space. More...
|
| |
| class | IncidenceMatrix |
| | 0/1 incidence matrix. More...
|
| |
| class | Integer |
| | Integral number of unlimited precision. More...
|
| |
| class | ios |
| | STL class. More...
|
| |
| struct | is_derived_from_instance_of |
| |
| struct | is_instance_of |
| | Check whether a type is an instance of a given class template. More...
|
| |
| struct | is_lossless_convertible_impl2 |
| |
| class | ListMatrix |
| | List of row vectors. More...
|
| |
| class | Map |
| | Associative array based on AVL::tree. More...
|
| |
| class | Matrix |
| | Matrix type class which holds the elements in a contiguous array
Additional arithmetic operations for matrices and useful constructions (unit_matrix, diag, ...) are listed at operations. More...
|
| |
| struct | mbind1st |
| | Reduce a binary meta-function to a unary one by fixing the first argument to a given value. More...
|
| |
| struct | mbind2nd |
| | Reduce a binary meta-function to a unary one by fixing the second argument to a given value. More...
|
| |
| struct | mbind_const |
| | Wrappers for arbitrary meta-functions. More...
|
| |
| struct | meta_function |
| |
| struct | mget_template_parameter |
| |
| struct | mlist |
| | container for arbitrary many types More...
|
| |
| struct | mlist_and_nonempty |
| | like mlist_and, but delivers false_type on empty input More...
|
| |
| struct | mlist_at |
| |
| struct | mlist_difference |
| |
| struct | mlist_even_subset |
| | Extract elements at even positions. More...
|
| |
| struct | mlist_filter_binary |
| |
| struct | mlist_filter_unary |
| |
| struct | mlist_find_first |
| |
| struct | mlist_find_if |
| |
| struct | mlist_fold |
| |
| struct | mlist_fold_transform |
| |
| struct | mlist_head |
| |
| struct | mlist_insert |
| |
| struct | mlist_insert_unique |
| |
| struct | mlist_intersection |
| |
| struct | mlist_is_tail_of |
| | Check whether one list coincides with the tail of another list. More...
|
| |
| struct | mlist_length |
| | compute the length of a meta-list More...
|
| |
| struct | mlist_match_all |
| |
| struct | mlist_match_impl |
| |
| struct | mlist_odd_subset |
| | Extract elements at odd positions. More...
|
| |
| struct | mlist_prepend_if |
| |
| struct | mlist_replace_at |
| |
| struct | mlist_reverse |
| | Reverse the elements in a meta-list. More...
|
| |
| struct | mlist_slice |
| |
| struct | mlist_sort |
| | Sort a meta-list according to the given element comparator. More...
|
| |
| struct | mlist_tail |
| |
| struct | mlist_transform_binary |
| | Apply a binary meta-function pairwise to the elements of two meta-lists. More...
|
| |
| struct | mlist_transform_unary |
| | Apply a unary meta-function to the elements of a meta-list. More...
|
| |
| struct | mlist_unwrap |
| | extract the single element from a meta-list, preserve the list if it contains more than one element More...
|
| |
| struct | mlist_wrap |
| | construct a meta-list with given elements unless it's already a meta-list itself More...
|
| |
| struct | mnegate_binary |
| | Negate the result of a binary boolean meta-function. More...
|
| |
| struct | mnegate_unary |
| | Negate the result of a unary boolean meta-function. More...
|
| |
| struct | mprefer1st |
| | Operation on a pair of types: selects the first one unless it is void. More...
|
| |
| struct | mprefer2nd |
| | Operation on a pair of types: selects the second one unless it is void. More...
|
| |
| struct | mproject1st |
| | Operation on a pair of types: selects the first one. More...
|
| |
| struct | mproject2nd |
| | Operation on a pair of types: selects the second one. More...
|
| |
| struct | mrepeat |
| |
| struct | mreplace_template_parameter |
| |
| struct | mreplicate |
| | Construct a meta-list consisting of N copies of the same element. More...
|
| |
| struct | msafely_eval |
| |
| struct | msafely_eval_boolean |
| |
| struct | mselect |
| |
| struct | mswap_args |
| | Swap arguments passed to a binary meta-function. More...
|
| |
| struct | mtagged_list_add_default |
| | Append elements to a tagged meta-list unless another elements with identical tags are already there. More...
|
| |
| struct | mtagged_list_concat |
| |
| struct | mtagged_list_extract |
| |
| struct | mtagged_list_modify |
| |
| struct | mtagged_list_remove |
| |
| struct | mtagged_list_replace |
| |
| struct | munwrap_index_sequence |
| | Convert a meta-list of encapsulated integer constants into an index sequence. More...
|
| |
| class | no_match |
| |
| class | NodeMap |
| | data structure to store data at the nodes of a Graph More...
|
| |
| class | NormalRandom |
| |
| struct | nothing |
| | Structure denoting the absence of data. More...
|
| |
| class | QuadraticExtension |
| | Realizes quadratic extensions of fields. More...
|
| |
| class | Rational |
| | Rational number with unlimited precision. More...
|
| |
| struct | reverse_index_sequence |
| | Construct a falling index sequence N-1, N-2, ..., 1, 0. More...
|
| |
| class | RGB |
| | Color description in RGB space: Red-Green-Blue additive color model. More...
|
| |
| class | Set |
| | An associative container based on a balanced binary search (AVL) tree. Comparator is a functor defining a total ordering on the element value domain. In most cases, the default choice (lexicographical order) will suffice for your needs. More...
|
| |
| class | SmithNormalForm |
| | Complete result of computation of Smith normal form. More...
|
| |
| class | SparseMatrix |
| | A two-dimensional associative array with row and column indices as keys. More...
|
| |
| class | SparseVector |
| |
| class | TropicalNumber |
| |
| class | Vector |
| | Vector type class which holds the elements in a contiguous array More...
|
| |
|
|
template<typename T> |
| using | mvalue_of = std::integral_constant<typename T::value_type, T::value> |
| | Canonicalized compile-time constant.
|
| |
|
template<typename Const1, typename Const2> |
| using | mis_equal = bool_constant<(Const1::value == Const2::value)> |
| | Operations on compile-time constants.
|
| |
|
template<typename T, int Pos> |
| using | mlist_at_rev = mlist_at<T, mlist_length<T>::value-Pos-1> |
| | counting position backwards
|
| |
| template<typename List, int Start, int End, typename... Insert> |
| using | mlist_replace_between |
| |
| template<typename List, int Pos> |
| using | mlist_remove_at = mlist_replace_at<List, Pos> |
| |
|
template<typename List, typename Value> |
| using | mlist_find = mlist_find_if<List, std::is_same, Value> |
| | Find the first occurrence of an element in a meta-list.
|
| |
|
template<typename List, typename Value, template< typename, typename > class Compare = std::is_same> |
| using | mlist_contains = bool_constant<mlist_find_if<List, Compare, Value>::value> |
| | Tell whether an element is contained in a meta-list.
|
| |
| template<typename List, typename Element, typename NewElement, template< typename, typename > class Compare = std::is_same> |
| using | mlist_replace = mlist_replace_at<List, mlist_find_if<List, Compare, Element>::pos, NewElement> |
| |
| template<typename List, typename Element, template< typename, typename > class Compare = std::is_same> |
| using | mlist_remove = mlist_remove_at<List, mlist_find_if<List, Compare, Element>::pos> |
| |
| template<typename T, typename... Expected> |
| using | is_among = mlist_contains<typename mlist_wrap<Expected...>::type, T> |
| |
| template<typename List1, typename List2, template< typename, typename > class Compare = std::is_same> |
| using | mlists_are_equivalent |
| | Shortcut wrappers around mlist_match.
|
| |
|
template<typename List1, typename List2, template< typename, typename > class Compare = std::is_same> |
| using | mlists_are_intersecting = bool_not<mlist_is_empty<typename mlist_match<List1, List2, Compare>::type>> |
| | Tell whether meta-lists have any elements in common.
|
| |
|
template<typename List1, typename List2, template< typename, typename > class Compare = std::is_same> |
| using | mlists_are_disjoint = mlist_is_empty<typename mlist_match<List1, List2, Compare>::type> |
| | Tell whether meta-lists do not have any elements in common.
|
| |
|
template<typename List1, typename List2, template< typename, typename > class Compare = std::is_same> |
| using | mlist_is_included = mlist_is_empty<typename mlist_match<List1, List2, Compare>::complement> |
| | Tell whether one meta-list is completely contained in another one regardless the element order.
|
| |
|
template<typename... T> |
| using | mlist_and = bool_not<mlist_find_first<typename mlist_concat<T...>::type, bool_not>> |
| | Compute the boolean conjunction (AND) of one or more constants.
|
| |
|
template<typename... T> |
| using | mlist_or = mlist_find_first<typename mlist_concat<T...>::type, mvalue_of> |
| | Compute the boolean disjunction (OR) of one or more constants.
|
| |
| template<typename List, typename Depth = int_constant<-1>> |
| using | mlist_flatten = mlist_flatten_impl<typename mlist_wrap<List>::type, Depth::value> |
| |
|
template<typename List, template< typename, typename > class Compare = std::is_same> |
| using | mlist_remove_duplicates = mlist_wrap<typename mlist_fold<List, mlist_remove_duplicates_impl<Compare>::template func>::type> |
| | Remove duplicate elements from a meta-list.
|
| |
| template<typename List1, typename List2> |
| using | mlist_union = mlist_fold<List1, mlist_remove_duplicates_impl<std::is_same>::template func, List2> |
| |
| template<typename List1, typename List2> |
| using | mlist_symdifference |
| |
| template<typename List, typename Tags> |
| using | mtagged_list_intersect = mlist_match_all<List, Tags, has_same_tag> |
| |
|
template<typename Derived, typename Base> |
| using | is_derived_from = std::is_base_of<Base, Derived> |
| | convenience shortcut
|
| |
| template<typename Derived, typename... Bases> |
| using | is_derived_from_any = mlist_find_if<typename mlist_wrap<Bases...>::type, std::is_base_of, Derived> |
| |
| template<typename... T> |
| using | least_derived_class = mlist_fold<typename mlist_wrap<T...>::type, least_derived_helper> |
| |
| template<typename... T> |
| using | most_derived_class = mlist_fold<typename mlist_wrap<T...>::type, most_derived_helper> |
| |
|
template<typename Target, typename Source> |
| using | is_direct_constructible = std::is_constructible<Target, Source> |
| | alias wrapping variadic std::is_constructible into a binary meta-function
|
| |
| template<typename Source, typename... Targets> |
| using | can_construct_any = mlist_find_if<typename mlist_wrap<Targets...>::type, is_direct_constructible, Source> |
| |
|
template<typename Source, typename Target> |
| using | can_assign_to = std::is_assignable<std::add_lvalue_reference_t<Target>, Source> |
| | convenience shortcut swapping the order of arguments
|
| |
|
template<typename T> |
| using | is_comparable = are_comparable<T, T> |
| | Check whether the "equal" and "not equal" operators are defined for a given type.
|
| |
|
template<typename T> |
| using | is_less_greater_comparable = are_less_greater_comparable<T, T> |
| | Check whether the "less than" and "greater than" operators are defined for a given type.
|
| |
|
|
template<typename T> |
| private_mutable_t< T > | ensure_private_mutable (T &&x) |
| | enforce a local copy of an object unless it's already a prvalue
|
| |
|
template<typename Source, typename Member, typename Owner> |
| auto | reverse_cast (Source *data_member, Member Owner::*member_ptr) |
| | Calculate a pointer to an enclosing class object from a given pointer to a data member.
|
| |
|
template<typename Member, typename Source, typename Owner, size_t size> |
| auto | reverse_cast (Source *data_member, Int i, Member(Owner::*member_ptr)[size]) |
| | Calculate a pointer to an enclosing class object from a given pointer to an element in a data member array.
|
| |
| std::string | legible_typename (const std::type_info &ti) |
| |
|
template<typename T> |
| std::string | legible_typename () |
| | convenience wrapper
|
| |
| template<typename E> |
| auto | same_element_matrix (E &&x, Int m, Int n) |
| |
|
template<typename TargetType, typename TMatrix> |
| const TMatrix & | convert_to (const GenericMatrix< TMatrix, TargetType > &m) |
| | explicit conversion of matrix elements to another type
|
| |
| template<typename E> |
| auto | zero_matrix (Int m, Int n) |
| |
| template<typename E> |
| auto | ones_matrix (Int m, Int n) |
| |
|
template<typename E> |
| auto | unit_matrix (Int dim) |
| | Create a unit_matrix of dimension dim.
|
| |
|
template<typename Matrix1, typename Matrix2> |
| auto | diag (const GenericIncidenceMatrix< Matrix1 > &m1, const GenericIncidenceMatrix< Matrix2 > &m2) -> decltype(make_block_diag< false >(m1.top(), m2.top())) |
| | create a block-diagonal incidence matrix
|
| |
|
template<typename Comparator, typename E> |
| auto | scalar2set (E &&x) |
| | construct an one-element set with explicitly specified comparator type
|
| |
|
template<typename E> |
| auto | same_element_vector (E &&x, Int dim=0) |
| | Create a vector with all entries equal to the given element x.
|
| |
|
template<typename TargetType, typename TMatrix> |
| const TMatrix & | convert_to (const GenericMatrix< TMatrix, TargetType > &m) |
| | explicit conversion of matrix elements to another type
|
| |
|
template<typename E> |
| auto | ones_vector (Int dim=0) |
| | Create a vector with all entries equal to 1.
|
| |
|
template<typename E> |
| auto | zero_vector (Int dim=0) |
| | Create a vector with all entries equal to 0.
|
| |
|
graph::Graph | complete_graph (Int n_nodes) |
| | create complete graph on given number of nodes
|
| |
|
template<typename TargetType, typename TMatrix> |
| const TMatrix & | convert_to (const GenericMatrix< TMatrix, TargetType > &m) |
| | explicit conversion of matrix elements to another type
|
| |
|
template<typename Iterator, typename Predicate> |
| auto | make_unary_predicate_selector (Iterator &&it, const Predicate &pred) |
| | Convenience function creating an iterator with element selection.
|
| |
| template<typename VectorIterator, typename RowBasisOutputIterator, typename ColBasisOutputIterator, typename AH_matrix> |
| void | null_space (VectorIterator v, RowBasisOutputIterator row_basis_consumer, ColBasisOutputIterator col_basis_consumer, AH_matrix &H, bool simplify=false) |
| |
|
template<typename Iterator> |
| void | normalize (Iterator dst) |
| | Divide each vector in a sequence thru its length (L2-norm)
|
| |
|
template<typename TargetType, typename TMatrix> |
| const TMatrix & | convert_to (const GenericMatrix< TMatrix, TargetType > &m) |
| | explicit conversion of matrix elements to another type
|
| |
|
template<typename Top, typename ElementSet, typename = std::enable_if_t<is_generic_set<ElementSet>::value>> |
| PowerSet< typename ElementSet::element_type, typename ElementSet::element_comparator > | ridges (const GenericSet< Top, ElementSet > &power_set) |
| | Gather all independent intersections of subsets from the given PowerSet.
|
| |
| template<typename E> |
| Int | smith_normal_form_only (SparseMatrix< E > &M, std::list< std::pair< E, Int > > &torsion) |
| |
namespace to be used for client code