Polymake Template Library (PTL): polymake Namespace Reference
polymake Namespace Reference

namespace to be used for client code More...

Classes

struct  AnyString
 
struct  can_construct_any
 
struct  is_among
 
struct  is_derived_from_any
 
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_ordered
 Check whether the "less than" and "greater than" operators are defined for a given type. More...
 
struct  least_derived_class
 
struct  meta_function
 
struct  mevaluate
 
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_append_if
 
struct  mlist_at
 
struct  mlist_concat
 
struct  mlist_contains
 Tell whether an element is contained in a meta-list. More...
 
struct  mlist_difference
 
struct  mlist_filter_binary
 
struct  mlist_filter_unary
 
struct  mlist_find
 
struct  mlist_flatten
 
struct  mlist_fold
 
struct  mlist_fold_transform
 
struct  mlist_fold_with_init< mlist< T, TTail... >, TInit, TOperation >
 Like mlist_fold, but starting with a prescribed initial value. More...
 
struct  mlist_head
 
struct  mlist_intersection
 
struct  mlist_is_included
 Tell whether one meta-list is completely contained in another one regardless the element order. More...
 
struct  mlist_length
 compute the length of a meta-list More...
 
struct  mlist_match
 
struct  mlist_match_all
 
struct  mlist_prepend_if
 
struct  mlist_remove
 
struct  mlist_remove_at
 
struct  mlist_remove_duplicates
 Remove duplicate elements from a meta-list. More...
 
struct  mlist_replace_at
 
struct  mlist_replace_between
 
struct  mlist_reverse
 Reverse the elements in a meta-list. More...
 
struct  mlist_subset
 
struct  mlist_symdifference
 
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_union
 
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  mlists_are_disjoint
 Tell whether meta-lists do not have any elements in common. More...
 
struct  mlists_are_equivalent
 Shortcut wrappers around mlist_match. More...
 
struct  mlists_are_intersecting
 Tell whether meta-lists have any elements in common. 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  mselect
 
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_intersect
 
struct  mtagged_list_modify
 
struct  mtagged_list_remove
 
struct  mtagged_list_replace
 

Typedefs

template<typename... T>
using mlist_and = std::__and_< T... >
 combine all `value' members with boolean AND; return true for an empty list
 
template<typename... T>
using mlist_or = std::__or_< T... >
 combine all `value' members with boolean OR; return false for an empty list
 
template<typename T >
using bool_not = std::__not_< T >
 logical inversion of a compile-time boolean constant
 
template<typename TDerived , typename TBase >
using is_derived_from = std::is_base_of< TBase, TDerived >
 convenience shortcut
 
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
 

Functions

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
 
std::string legible_typename (const std::type_info &ti)
 
template<typename T >
std::string legible_typename ()
 convenience wrapper
 

Detailed Description

namespace to be used for client code

Function Documentation

std::string polymake::legible_typename ( const std::type_info &  ti)

Produce a type name as a valid C++ source code type id. Namespace prefixes polymake:: are removed for better legibility.