Polymake Template Library (PTL) 4.13
|
#include <meta_list.h>
Concatenate single elements and meta-lists into one meta-list. ‘void’ entries and empty meta-lists are elided. / The result is always a instance of mlist regardless of the number of contained elements. template <typename... T> struct mlist_concat : mlist_wrap<T...> {};
template <typename T1, typename T2, typename... Tail> struct mlist_concat<T1, T2, Tail...> : mlist_concat2<typename mlist_wrap<T1>::type, typename mlist_concat<T2, Tail...>::type> {};
/ Concatenate elements conditionally. / If Condition is ‘true’, the function is equivalent to mlist_concat. If Condition is ‘false’,List is returned. template <bool Condition, typename List, typename Suffix> struct mlist_append_if : mlist_concat<List, Suffix> {};
template <typename List, typename Suffix> struct mlist_append_if<false, List, Suffix> : mlist_wrap<List> {};
/ Concatenate elements conditionally. / If Condition is ‘true’, the function is equivalent to mlist_concat. If Condition is ‘false’, List is returned.