函数
|
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
|
Construct
(ITERATOR first, SENTINEL sentinel, const ARGS &... args) -> ITERATOR
|
template<typename ITERABLE , typename ... ARGS, typename = typename std::enable_if<IsIterable<ITERABLE>::value>::type>
|
auto
|
Construct
(ITERABLE &&iterable, const ARGS &... args) -> decltype(begin(iterable))
|
template<typename ITERATOR , typename SENTINEL , typename = typename std::enable_if<!IsIterable<ITERATOR>::value>::type>
|
auto
|
Destruct
(ITERATOR first, SENTINEL sentinel) -> ITERATOR
|
template<typename ITERABLE , typename = typename std::enable_if<IsIterable<ITERABLE>::value>::type>
|
auto
|
Destruct
(ITERABLE &&iterable) -> decltype(begin(iterable))
|
template<typename ITERATOR , typename SENTINEL , typename DEST_ITERATOR >
|
auto
|
拷贝
(ITERATOR first, SENTINEL sentinel, DEST_ITERATOR dest) -> Result< DEST_ITERATOR >
|
template<typename ITERABLE , typename DEST_ITERATOR >
|
auto
|
拷贝
(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
|
移除
(ITERATOR first, SENTINEL sentinel, const T &value) -> ITERATOR
|
template<typename ITERABLE , typename T >
|
auto
|
移除
(ITERABLE &&iterable, const T &value) -> decltype(begin(iterable))
|
template<typename ITERABLE , typename PREDICATE >
|
auto
|
RemoveIf
(ITERABLE &&iterable, PREDICATE pred) -> decltype(begin(iterable))
|
template<typename ITERATOR , typename SENTINEL , typename T >
|
auto
|
替换
(ITERATOR first, SENTINEL sentinel, const T &oldValue, const T &newValue) -> ITERATOR
|
template<typename ITERABLE , typename T >
|
auto
|
替换
(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 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 >
|