| 
| template<typename T >  | 
| std::false_type  | TestForBeginFunction (OverloadRank0) | 
|   | 
| template<typename T >  | 
| std::false_type  | TestForEndFunction (OverloadRank0) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename ... ARGS, typename  = typename std::enable_if<!IsIterable<ITERATOR>::value>::type>  | 
| auto  | ConstructElements (ITERATOR first, SENTINEL sentinel, const ARGS &... args) -> ITERATOR | 
|   | 
| template<typename ITERABLE , typename ... ARGS, typename  = typename std::enable_if<IsIterable<ITERABLE>::value>::type>  | 
| auto  | ConstructElements (ITERABLE &&iterable, const ARGS &... args) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename  = typename std::enable_if<!IsIterable<ITERATOR>::value>::type>  | 
| auto  | DestructElements (ITERATOR first, SENTINEL sentinel) -> ITERATOR | 
|   | 
| template<typename ITERABLE , typename  = typename std::enable_if<IsIterable<ITERABLE>::value>::type>  | 
| auto  | DestructElements (ITERABLE &&iterable) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename DEST_ITERATOR >  | 
| auto  | Copy (ITERATOR first, SENTINEL sentinel, DEST_ITERATOR dest) -> Result< DEST_ITERATOR > | 
|   | 
| template<typename ITERABLE , typename DEST_ITERATOR >  | 
| auto  | Copy (const ITERABLE &iterable, DEST_ITERATOR dest) -> Result< DEST_ITERATOR > | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename DEST_ITERATOR , typename PREDICATE >  | 
| auto  | CopyIf (ITERATOR first, SENTINEL sentinel, DEST_ITERATOR dest, PREDICATE pred) -> Result< DEST_ITERATOR > | 
|   | 
| template<typename ITERABLE , typename DEST_ITERATOR , typename PREDICATE >  | 
| auto  | CopyIf (const ITERABLE &iterable, DEST_ITERATOR dest, PREDICATE pred) -> Result< DEST_ITERATOR > | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename DEST_ITERATOR >  | 
| auto  | CopyToUninitialized (ITERATOR first, SENTINEL sentinel, DEST_ITERATOR dest) -> Result< DEST_ITERATOR > | 
|   | 
| template<typename ITERABLE , typename DEST_ITERATOR >  | 
| auto  | CopyToUninitialized (const ITERABLE &iterable, DEST_ITERATOR dest) -> Result< DEST_ITERATOR > | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename DEST_ITERATOR , typename PREDICATE >  | 
| auto  | CopyToUninitializedIf (ITERATOR first, SENTINEL sentinel, DEST_ITERATOR dest, PREDICATE pred) -> Result< DEST_ITERATOR > | 
|   | 
| template<typename ITERABLE , typename DEST_ITERATOR , typename PREDICATE >  | 
| auto  | CopyToUninitializedIf (const ITERABLE &iterable, DEST_ITERATOR dest, PREDICATE pred) -> Result< DEST_ITERATOR > | 
|   | 
| enum maxon::MOVE_MODE  | MAXON_ENUM_LIST (MOVE_MODE) | 
|   | 
| template<MOVE_MODE MODE = MOVE_MODE::KEEP_SOURCE, typename ITERATOR , typename SENTINEL , typename DEST_ITERATOR >  | 
| auto  | Move (ITERATOR first, SENTINEL sentinel, DEST_ITERATOR dest) -> DEST_ITERATOR | 
|   | 
| template<MOVE_MODE MODE = MOVE_MODE::KEEP_SOURCE, typename ITERABLE , typename DEST_ITERATOR >  | 
| auto  | Move (ITERABLE &&iterable, DEST_ITERATOR dest) -> DEST_ITERATOR | 
|   | 
| template<MOVE_MODE MODE = MOVE_MODE::KEEP_SOURCE, typename ITERATOR , typename SENTINEL , typename DEST_ITERATOR , typename PREDICATE >  | 
| auto  | MoveIf (ITERATOR first, SENTINEL sentinel, DEST_ITERATOR dest, PREDICATE pred) -> DEST_ITERATOR | 
|   | 
| template<MOVE_MODE MODE = MOVE_MODE::KEEP_SOURCE, typename ITERABLE , typename DEST_ITERATOR , typename PREDICATE >  | 
| auto  | MoveIf (ITERABLE &&iterable, DEST_ITERATOR dest, PREDICATE pred) -> DEST_ITERATOR | 
|   | 
| template<MOVE_MODE MODE = MOVE_MODE::KEEP_SOURCE, typename ITERATOR , typename SENTINEL , typename DEST_ITERATOR >  | 
| auto  | MoveToUninitialized (ITERATOR first, SENTINEL sentinel, DEST_ITERATOR dest) -> DEST_ITERATOR | 
|   | 
| template<MOVE_MODE MODE = MOVE_MODE::KEEP_SOURCE, typename ITERABLE , typename DEST_ITERATOR >  | 
| auto  | MoveToUninitialized (ITERABLE &&iterable, DEST_ITERATOR dest) -> DEST_ITERATOR | 
|   | 
| template<MOVE_MODE MODE = MOVE_MODE::KEEP_SOURCE, typename ITERATOR , typename SENTINEL , typename DEST_ITERATOR , typename PREDICATE >  | 
| auto  | MoveToUninitializedIf (ITERATOR first, SENTINEL sentinel, DEST_ITERATOR dest, PREDICATE pred) -> DEST_ITERATOR | 
|   | 
| template<MOVE_MODE MODE = MOVE_MODE::KEEP_SOURCE, typename ITERABLE , typename DEST_ITERATOR , typename PREDICATE >  | 
| auto  | MoveToUninitializedIf (ITERABLE &&iterable, DEST_ITERATOR dest, PREDICATE pred) -> DEST_ITERATOR | 
|   | 
| template<typename ITERABLE , typename T >  | 
| auto  | Fill (ITERABLE &&iterable, const T &value) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename GENERATOR >  | 
| auto  | Generate (ITERATOR first, SENTINEL sentinel, GENERATOR gen) -> ITERATOR | 
|   | 
| template<typename ITERABLE , typename GENERATOR >  | 
| auto  | Generate (ITERABLE &&iterable, GENERATOR gen) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename PREDICATE >  | 
| Bool  | AllOf (ITERATOR first, SENTINEL sentinel, PREDICATE pred) | 
|   | 
| template<typename ITERABLE , typename PREDICATE >  | 
| Bool  | AllOf (const ITERABLE &iterable, PREDICATE pred) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename PREDICATE >  | 
| Bool  | AnyOf (ITERATOR first, SENTINEL sentinel, PREDICATE pred) | 
|   | 
| template<typename ITERABLE , typename PREDICATE >  | 
| Bool  | AnyOf (const ITERABLE &iterable, PREDICATE pred) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename PREDICATE >  | 
| Bool  | NoneOf (ITERATOR first, SENTINEL sentinel, PREDICATE pred) | 
|   | 
| template<typename ITERABLE , typename PREDICATE >  | 
| Bool  | NoneOf (const ITERABLE &iterable, PREDICATE pred) | 
|   | 
| template<typename ITERATOR1 , typename SENTINEL1 , typename ITERATOR2 , typename SENTINEL2 >  | 
| Bool  | Equal (ITERATOR1 first1, SENTINEL1 sentinel1, ITERATOR2 first2, SENTINEL2 sentinel2) | 
|   | 
| template<typename ITERABLE1 , typename ITERABLE2 >  | 
| Bool  | Equal (const ITERABLE1 &iterable1, const ITERABLE2 &iterable2) | 
|   | 
| template<typename ITERATOR1 , typename SENTINEL1 , typename ITERATOR2 , typename SENTINEL2 , typename COMPARE >  | 
| Bool  | Equal (ITERATOR1 first1, SENTINEL1 sentinel1, ITERATOR2 first2, SENTINEL2 sentinel2, COMPARE comp) | 
|   | 
| template<typename ITERABLE1 , typename ITERABLE2 , typename COMPARE >  | 
| Bool  | Equal (const ITERABLE1 &iterable1, const ITERABLE2 &iterable2, COMPARE comp) | 
|   | 
| template<typename ITERATOR1 , typename SENTINEL1 , typename ITERATOR2 , typename SENTINEL2 >  | 
| auto  | Mismatch (ITERATOR1 first1, SENTINEL1 sentinel1, ITERATOR2 first2, SENTINEL2 sentinel2) -> Optional< Pair< ITERATOR1, ITERATOR2 >> | 
|   | 
| template<typename ITERABLE1 , typename ITERABLE2 >  | 
| auto  | Mismatch (ITERABLE1 &&iterable1, ITERABLE2 &&iterable2) -> Optional< Pair< decltype(begin(iterable1)), decltype(begin(iterable2))>> | 
|   | 
| template<typename ITERATOR1 , typename SENTINEL1 , typename ITERATOR2 , typename SENTINEL2 , typename COMPARE >  | 
| auto  | Mismatch (ITERATOR1 first1, SENTINEL1 sentinel1, ITERATOR2 first2, SENTINEL2 sentinel2, COMPARE comp) -> Optional< Pair< ITERATOR1, ITERATOR2 >> | 
|   | 
| template<typename ITERABLE1 , typename ITERABLE2 , typename COMPARE >  | 
| auto  | Mismatch (ITERABLE1 &&iterable1, ITERABLE2 &&iterable2, COMPARE comp) -> Optional< Pair< decltype(begin(iterable1)), decltype(begin(iterable2))>> | 
|   | 
| template<typename ITERATOR , typename PREDICATE >  | 
| auto  | Partition (ITERATOR first, ITERATOR last, PREDICATE pred) -> ITERATOR | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename PREDICATE >  | 
| auto  | Partition (ITERATOR first, SENTINEL sentinel, PREDICATE pred) -> ITERATOR | 
|   | 
| template<typename ITERABLE , typename PREDICATE >  | 
| auto  | Partition (ITERABLE &&iterable, PREDICATE pred) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR , typename PREDICATE >  | 
| Bool  | IsPartitioned (ITERATOR first, ITERATOR last, PREDICATE pred) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename PREDICATE >  | 
| Bool  | IsPartitioned (ITERATOR first, SENTINEL sentinel, PREDICATE pred) | 
|   | 
| template<typename ITERABLE , typename PREDICATE >  | 
| Bool  | IsPartitioned (const ITERABLE &iterable, PREDICATE pred) | 
|   | 
| template<typename ITERABLE >  | 
| auto  | Reverse (ITERABLE &&iterable) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR , typename T >  | 
| auto  | LowerBound (ITERATOR first, ITERATOR last, const T &value) -> ITERATOR | 
|   | 
| template<typename ITERATOR , typename T , typename COMPARE >  | 
| auto  | LowerBound (ITERATOR first, ITERATOR last, const T &value, COMPARE comp) -> ITERATOR | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename T >  | 
| auto  | LowerBound (ITERATOR first, SENTINEL sentinel, const T &value) -> ITERATOR | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename T , typename COMPARE >  | 
| auto  | LowerBound (ITERATOR first, SENTINEL sentinel, const T &value, COMPARE comp) -> ITERATOR | 
|   | 
| template<typename ITERABLE , typename T >  | 
| auto  | LowerBound (ITERABLE &&iterable, const T &value) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERABLE , typename T , typename COMPARE >  | 
| auto  | LowerBound (ITERABLE &&iterable, const T &value, COMPARE comp) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR , typename T >  | 
| auto  | UpperBound (ITERATOR first, ITERATOR last, const T &value) -> ITERATOR | 
|   | 
| template<typename ITERATOR , typename T , typename COMPARE >  | 
| auto  | UpperBound (ITERATOR first, ITERATOR last, const T &value, COMPARE comp) -> ITERATOR | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename T >  | 
| auto  | UpperBound (ITERATOR first, SENTINEL sentinel, const T &value) -> ITERATOR | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename T , typename COMPARE >  | 
| auto  | UpperBound (ITERATOR first, SENTINEL sentinel, const T &value, COMPARE comp) -> ITERATOR | 
|   | 
| template<typename ITERABLE , typename T >  | 
| auto  | UpperBound (ITERABLE &&iterable, const T &value) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERABLE , typename T , typename COMPARE >  | 
| auto  | UpperBound (ITERABLE &&iterable, const T &value, COMPARE comp) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR , typename T >  | 
| auto  | BinarySearch (ITERATOR first, ITERATOR last, const T &value) -> Optional< ITERATOR > | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename T >  | 
| auto  | BinarySearch (ITERATOR first, SENTINEL sentinel, const T &value) -> Optional< ITERATOR > | 
|   | 
| template<typename ITERATOR , typename T , typename COMPARE >  | 
| auto  | BinarySearch (ITERATOR first, ITERATOR last, const T &value, COMPARE comp) -> Optional< ITERATOR > | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename T , typename COMPARE >  | 
| auto  | BinarySearch (ITERATOR first, SENTINEL sentinel, const T &value, COMPARE comp) -> Optional< ITERATOR > | 
|   | 
| template<typename ITERABLE , typename T >  | 
| auto  | BinarySearch (ITERABLE &&iterable, const T &value) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERABLE , typename T , typename COMPARE >  | 
| auto  | BinarySearch (ITERABLE &&iterable, const T &value, COMPARE comp) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR >  | 
| auto  | Rotate (ITERATOR first, ITERATOR last, ITERATOR newFirst) -> ITERATOR | 
|   | 
| template<typename ITERABLE , typename ITERATOR >  | 
| auto  | Rotate (ITERABLE &&iterable, ITERATOR newFirst) -> ITERATOR | 
|   | 
| template<typename ITERATOR , typename SENTINEL >  | 
| auto  | Rotate (ITERATOR first, SENTINEL sentinel, ITERATOR newFirst) -> ITERATOR | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename T >  | 
| Int  | Count (ITERATOR first, SENTINEL sentinel, const T &value) | 
|   | 
| template<typename ITERABLE , typename T >  | 
| Int  | Count (ITERABLE &&iterable, const T &value) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename PREDICATE >  | 
| Int  | CountIf (ITERATOR first, SENTINEL sentinel, PREDICATE pred) | 
|   | 
| template<typename ITERABLE , typename PREDICATE >  | 
| auto  | CountIf (const ITERABLE &iterable, PREDICATE pred) -> Int | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename  = typename std::enable_if<!IsIterable<ITERATOR>::value>::type>  | 
| auto  | Unique (ITERATOR first, SENTINEL sentinel) -> ITERATOR | 
|   | 
| template<typename ITERABLE >  | 
| auto  | Unique (ITERABLE &&iterable) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename COMPARE >  | 
| auto  | Unique (ITERATOR first, SENTINEL sentinel, COMPARE comp) -> ITERATOR | 
|   | 
| template<typename ITERABLE , typename COMPARE , typename  = typename std::enable_if<IsIterable<ITERABLE>::value>::type>  | 
| auto  | Unique (ITERABLE &&iterable, COMPARE comp) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename T >  | 
| auto  | Remove (ITERATOR first, SENTINEL sentinel, const T &value) -> ITERATOR | 
|   | 
| template<typename ITERABLE , typename T >  | 
| auto  | Remove (ITERABLE &&iterable, const T &value) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERABLE , typename PREDICATE >  | 
| auto  | RemoveIf (ITERABLE &&iterable, PREDICATE pred) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERABLECONTAINER , typename VALUETYPE >  | 
| Result< Int >  | Erase (ITERABLECONTAINER &iterable, VALUETYPE &&value) | 
|   | 
| template<typename ITERABLECONTAINER , typename PREDICATE >  | 
| Result< Int >  | EraseIf (ITERABLECONTAINER &iterable, PREDICATE &&pred) | 
|   | 
| template<typename ITERABLECONTAINER , template< typename > class MATCHER, typename VALUEPREDICATE >  | 
| Result< Int >  | EraseIf (ITERABLECONTAINER &iterable, MATCHER< VALUEPREDICATE > &&matcher) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename T >  | 
| auto  | Replace (ITERATOR first, SENTINEL sentinel, const T &oldValue, const T &newValue) -> ITERATOR | 
|   | 
| template<typename ITERABLE , typename T >  | 
| auto  | Replace (ITERABLE &&iterable, const T &oldValue, const T &newValue) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename PREDICATE , typename T >  | 
| auto  | ReplaceIf (ITERATOR first, SENTINEL sentinel, PREDICATE pred, const T &newValue) -> ITERATOR | 
|   | 
| template<typename ITERABLE , typename PREDICATE , typename T >  | 
| auto  | ReplaceIf (ITERABLE &&iterable, PREDICATE pred, const T &newValue) -> decltype(begin(iterable)) | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename V , typename BINARYOP >  | 
| V  | Fold (ITERATOR first, SENTINEL sentinel, V initialValue, BINARYOP op) | 
|   | 
| template<typename ITERABLE , typename V , typename BINARYOP >  | 
| V  | Fold (const ITERABLE &iterable, const V &intitialValue, BINARYOP op) | 
|   | 
| template<typename ITERATOR , typename SENTINEL >  | 
| auto  | MinElement (ITERATOR first, SENTINEL sentinel) -> Optional< ITERATOR > | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename COMPARE >  | 
| auto  | MinElement (ITERATOR first, SENTINEL sentinel, COMPARE comp) -> Optional< ITERATOR > | 
|   | 
| template<typename ITERABLE >  | 
| auto  | MinElement (ITERABLE &&iterable) -> Optional< decltype(begin(iterable))> | 
|   | 
| template<typename ITERABLE , typename COMPARE >  | 
| auto  | MinElement (ITERABLE &&iterable, COMPARE comp) -> Optional< decltype(begin(iterable))> | 
|   | 
| template<typename ITERATOR , typename SENTINEL >  | 
| auto  | MaxElement (ITERATOR first, SENTINEL sentinel) -> Optional< ITERATOR > | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename COMPARE >  | 
| auto  | MaxElement (ITERATOR first, SENTINEL sentinel, COMPARE comp) -> Optional< ITERATOR > | 
|   | 
| template<typename ITERABLE >  | 
| auto  | MaxElement (ITERABLE &&iterable) -> Optional< decltype(begin(iterable))> | 
|   | 
| template<typename ITERABLE , typename COMPARE >  | 
| auto  | MaxElement (ITERABLE &&iterable, COMPARE comp) -> Optional< decltype(begin(iterable))> | 
|   | 
| template<typename ITERATOR >  | 
| Int  | GetSequenceLength (ITERATOR first, ITERATOR last) | 
|   | 
| template<typename ITERATOR , typename SENTINEL >  | 
| Int  | GetSequenceLength (ITERATOR first, SENTINEL sentinel) | 
|   | 
| template<typename ITERABLE >  | 
| Int  | GetSequenceLength (const ITERABLE &iterable) | 
|   | 
| enum maxon::NO_MATCH_TYPE  | MAXON_ENUM_LIST (NO_MATCH_TYPE) | 
|   | 
| template<typename INDEXABLE , typename MATCHER >  | 
| static auto  | CountIfMatch (INDEXABLE &&indexable, MATCHER matcher) -> Match< Int > | 
|   | 
| template<typename ITERATOR , typename SENTINEL , typename MATCHER >  | 
| auto  | LinearSearch (ITERATOR first, SENTINEL sentinel, MATCHER matcher) -> Match< ITERATOR > | 
|   | 
| template<typename ITERABLE , typename MATCHER >  | 
| auto  | LinearSearch (ITERABLE &&iterable, MATCHER matcher) -> Match< decltype(begin(iterable))> | 
|   | 
| template<typename ITERABLE , typename MATCHER >  | 
| auto  | Split (const ITERABLE &iterable, MATCHER matcher) -> Result< BaseArray< ITERABLE >> | 
|   | 
| template<typename INDEXABLE , typename MATCHER >  | 
| auto  | SplitIndex (const INDEXABLE &indexable, IndexPair indexPair, MATCHER matcher) -> Result< BaseArray< Match< Int >>> | 
|   | 
| template<typename INDEXABLE , typename MATCHER >  | 
| auto  | SplitIndex (const INDEXABLE &indexable, MATCHER matcher) -> Result< void > | 
|   | 
| template<Int COUNT, typename ITERABLE , typename MATCHER >  | 
| auto  | SplitToTuple (const ITERABLE &iterable, MATCHER matcher) -> HomogenousTupleType< COUNT, ITERABLE > | 
|   | 
| template<Int COUNT, typename INDEXABLE , typename MATCHER >  | 
| auto  | SplitToTupleIndex (const INDEXABLE &indexable, IndexPair indexPair, MATCHER matcher) -> HomogenousTupleType< COUNT, Match< Int >> | 
|   | 
| template<Int COUNT, typename INDEXABLE , typename MATCHER >  | 
| auto  | SplitToTupleIndex (const INDEXABLE &indexable, MATCHER matcher) -> HomogenousTupleType< COUNT, Match< Int >> | 
|   | 
| template<typename ITERATE_FUNC , typename ITERABLE , typename MATCHER >  | 
| auto  | SplitIterate (ITERATE_FUNC iterFunc, const ITERABLE &iterable, MATCHER matcher) -> Result< Bool > | 
|   | 
| template<typename ITERATE_FUNC , typename INDEXABLE , typename MATCHER >  | 
| auto  | SplitIterateIndex (ITERATE_FUNC iterFunc, const INDEXABLE &indexable, IndexPair indexPair, MATCHER matcher) -> Result< Bool > | 
|   | 
| template<typename ITERATE_FUNC , typename INDEXABLE , typename MATCHER >  | 
| auto  | SplitIterateIndex (ITERATE_FUNC iterFunc, const INDEXABLE &indexable, const MATCHER &matcher) -> Result< Bool > | 
|   | 
| template<typename PRED >  | 
| auto  | ByPredicate (const PRED &pred) -> PredicateMatcher< std::reference_wrapper< const PRED >> | 
|   | 
| template<typename T >  | 
| auto  | ByValue (const T &value) -> PredicateMatcher< ValuePredicate< T >> | 
|   | 
| template<typename T , typename COMPARE >  | 
| auto  | ByValue (const T &value, const COMPARE &comp) -> PredicateMatcher< ValueComparePredicate< T, COMPARE >> | 
|   | 
| template<typename PRED >  | 
| auto  | ByRepeatingPredicate (const PRED &pred) -> RepeatingPredicateMatcher< PRED > | 
|   | 
| template<typename T >  | 
| auto  | ByRepeatingValue (const T &value) -> RepeatingPredicateMatcher< ValuePredicate< T >> | 
|   | 
| template<typename T , typename COMPARE >  | 
| auto  | ByRepeatingValue (const T &value, const COMPARE &comp) -> RepeatingPredicateMatcher< ValueComparePredicate< T, COMPARE >> | 
|   | 
| template<typename SEARCH_SEQ >  | 
| auto  | BySequence (const SEARCH_SEQ &searchSeq) -> SequenceMatcher< SEARCH_SEQ, maxon::details::EqualityCompare< typename std::iterator_traits< decltype(begin(searchSeq))>::value_type, typename std::iterator_traits< decltype(begin(searchSeq))>::value_type >> | 
|   | 
| template<typename SEARCH_SEQ , typename COMPARE >  | 
| auto  | BySequence (const SEARCH_SEQ &searchSeq, const COMPARE &comp) -> SequenceMatcher< SEARCH_SEQ, COMPARE > | 
|   | 
| template<typename ITERABLE1 , typename ITERABLE2 >  | 
| auto  | SetDifference (const ITERABLE1 &firstSet, const ITERABLE2 &secondSet) -> Result< ITERABLE1 > | 
|   | 
| template<typename ITERABLE1 , typename ITERABLE2 , typename APPENDABLE >  | 
| auto  | SetDifference (const ITERABLE1 &firstSet, const ITERABLE2 &secondSet, APPENDABLE &outContainer) -> Result< void > | 
|   | 
| template<typename ITERABLE , typename FINDABLE >  | 
| auto  | UnorderedSetDifference (const ITERABLE &firstSet, const FINDABLE &secondSet) -> Result< ITERABLE > | 
|   | 
| template<typename ITERABLE , typename FINDABLE , typename APPENDABLE >  | 
| auto  | UnorderedSetDifference (const ITERABLE &firstSet, const FINDABLE &secondSet, APPENDABLE &outputContainer) -> Result< void > | 
|   | 
| template<typename ERASABLE , typename ITERABLE >  | 
| auto  | ExcludeSetFromSet (ERASABLE &firstSet, const ITERABLE &secondSet) -> Result< void > | 
|   |