|
| template<class T , size_t N> |
| T * | begin (T(&array)[N]) |
| |
| template<class T , size_t N> |
| T * | end (T(&array)[N]) noexcept |
| |
| template<typename T > |
| T & | fake () |
| | Used in decltype to get an instance of a type. More...
|
| |
| template<typename I > |
| auto | make_iterator_range (I b, I e) |
| | Create a rah::iterator_range with two given iterators. More...
|
| |
| template<typename I > |
| I | begin (iterator_range< I > &r) |
| | Get the begin iterator of the range. More...
|
| |
| template<typename I > |
| I | end (iterator_range< I > &r) |
| | Get the "past the" end iterator of the range. More...
|
| |
| template<typename I > |
| I | begin (iterator_range< I > const &r) |
| | Get the begin iterator of the range. More...
|
| |
| template<typename I > |
| I | end (iterator_range< I > const &r) |
| | Get the "past the" end iterator of the range. More...
|
| |
| template<typename MakeRange > |
| auto | make_pipeable (MakeRange &&make_range) |
| | Call to create a "pipeable" function (UFCS style in c++) More...
|
| |
| template<typename R , typename MakeRange > |
| auto | operator| (R &&range, pipeable< MakeRange > const &adapter) -> decltype(adapter.func(std ::forward< R >(range))) |
| |
| template<typename C > |
| auto | back_inserter (C &&container) |
| | Make a range which insert into the back of the a container. More...
|
| |
| template<typename R > |
| bool | empty (R &&range) |
| | Check if the range if empty. More...
|
| |
| auto | empty () |
| | Check if the range if empty. More...
|
| |
| template<typename R , typename V > |
| auto | equal_range (R &&range, V &&value, std ::enable_if_t< is_range< R >::value, int >=0) |
| | Returns a range containing all elements equivalent to value in the range. More...
|
| |
| template<typename V > |
| auto | equal_range (V &&value) |
| | Returns a range containing all elements equivalent to value in the range. More...
|
| |
| template<typename R , typename V , typename P > |
| auto | equal_range (R &&range, V &&value, P &&pred) |
| | Returns a range containing all elements equivalent to value in the range. More...
|
| |
| template<typename V , typename P > |
| auto | equal_range (V &&value, P &&pred, std ::enable_if_t<!is_range< V >::value, int >=0) |
| | Returns a range containing all elements equivalent to value in the range. More...
|
| |
| template<typename R , typename V > |
| auto | binary_search (R &&range, V &&value) |
| | Checks if an element equivalent to value appears within the range. More...
|
| |
| template<typename V > |
| auto | binary_search (V &&value) |
| | Checks if an element equivalent to value appears within the range. More...
|
| |
| template<typename RI , typename RO , typename F > |
| auto | transform (RI &&rangeIn, RO &&rangeOut, F &&unary_op) |
| | Applies the given function unary_op to the range rangeIn and stores the result in the range rangeOut. More...
|
| |
| template<typename RI1 , typename RI2 , typename RO , typename F > |
| auto | transform (RI1 &&rangeIn1, RI2 &&rangeIn2, RO &&rangeOut, F &&binary_op) |
| | The binary operation binary_op is applied to pairs of elements from two ranges. More...
|
| |
| template<typename R , typename I , typename F > |
| auto | reduce (R &&range, I &&init, F &&reducer) |
| | Executes a reducer function on each element of the range, resulting in a single output value. More...
|
| |
| template<typename I , typename F > |
| auto | reduce (I &&init, F &&reducer) |
| | Executes a reducer function on each element of the range, resulting in a single output value. More...
|
| |
| template<typename R , typename F > |
| bool | any_of (R &&range, F &&pred) |
| | Checks if unary predicate pred returns true for at least one element in the range. More...
|
| |
| template<typename P > |
| auto | any_of (P &&pred) |
| | Checks if unary predicate pred returns true for at least one element in the range. More...
|
| |
| template<typename R , typename P > |
| bool | all_of (R &&range, P &&pred) |
| | Checks if unary predicate pred returns true for all elements in the range. More...
|
| |
| template<typename P > |
| auto | all_of (P &&pred) |
| | Checks if unary predicate pred returns true for all elements in the range. More...
|
| |
| template<typename R , typename P > |
| bool | none_of (R &&range, P &&pred) |
| | Checks if unary predicate pred returns true for no elements in the range. More...
|
| |
| template<typename P > |
| auto | none_of (P &&pred) |
| | Checks if unary predicate pred returns true for no elements in the range. More...
|
| |
| template<typename R , typename V > |
| auto | count (R &&range, V &&value) |
| | Counts the elements that are equal to value. More...
|
| |
| template<typename V > |
| auto | count (V &&value) |
| | Counts the elements that are equal to value. More...
|
| |
| template<typename R , typename P > |
| auto | count_if (R &&range, P &&pred) |
| | Counts elements for which predicate pred returns true. More...
|
| |
| template<typename P > |
| auto | count_if (P &&pred) |
| | Counts elements for which predicate pred returns true. More...
|
| |
| template<typename R , typename F > |
| auto | for_each (R &&range, F &&func) |
| | Applies the given function func to each element of the range. More...
|
| |
| template<typename F > |
| auto | for_each (F &&func) |
| | Applies the given function func to each element of the range. More...
|
| |
| template<typename C , typename R > |
| auto | to_container (R &&range) |
| | Return a container of type C, filled with the content of range. More...
|
| |
| template<typename C > |
| auto | to_container () |
| | Return a container of type C, filled with the content of range. More...
|
| |
| template<typename R1 , typename R2 > |
| auto | mismatch (R1 &&range1, R2 &&range2) |
| | Finds the first position where two ranges differ. More...
|
| |
| template<typename R , typename V > |
| auto | find (R &&range, V &&value) |
| | Finds the first element equal to value. More...
|
| |
| template<typename V > |
| auto | find (V &&value) |
| | Finds the first element equal to value. More...
|
| |
| template<typename R , typename P > |
| auto | find_if (R &&range, P &&pred) |
| | Finds the first element satisfying specific criteria. More...
|
| |
| template<typename P > |
| auto | find_if (P &&pred) |
| | Finds the first element satisfying specific criteria. More...
|
| |
| template<typename R , typename P > |
| auto | find_if_not (R &&range, P &&pred) |
| | Finds the first element not satisfying specific criteria. More...
|
| |
| template<typename P > |
| auto | find_if_not (P &&pred) |
| | Finds the first element not satisfying specific criteria. More...
|
| |
| template<typename R1 , typename R2 > |
| auto | copy (R1 &&in, R2 &&out) |
| | Copy in range into an other. More...
|
| |
| template<typename R2 > |
| auto | copy (R2 &&out) |
| | Copy in range into an other. More...
|
| |
| template<typename R1 , typename V > |
| auto | fill (R1 &&in, V &&value) |
| | Assigns the given value to the elements in the range [first, last) More...
|
| |
| template<typename V > |
| auto | fill (V &&value) |
| | Assigns the given value to the elements in the range [first, last) More...
|
| |
| template<typename R1 , typename R2 > |
| auto | back_insert (R1 &&in, R2 &&out) |
| | Insert in in back of front More...
|
| |
| template<typename R2 > |
| auto | back_insert (R2 &&out) |
| | Insert in in back of front More...
|
| |
| template<typename R1 , typename R2 , typename P > |
| auto | copy_if (R1 &&in, R2 &&out, P &&pred) |
| | Copies the elements for which the predicate pred returns true. More...
|
| |
| template<typename R2 , typename P > |
| auto | copy_if (R2 &&out, P &&pred) |
| | Copies the elements for which the predicate pred returns true. More...
|
| |
| template<typename R > |
| auto | size (R &&range) |
| | Get the size of range. More...
|
| |
| auto | size () |
| | Get the size of range. More...
|
| |
| template<typename R1 , typename R2 > |
| auto | equal (R1 &&range1, R2 &&range2) |
| | Determines if two sets of elements are the same. More...
|
| |
| template<typename R1 > |
| auto | equal (R1 &&range2) |
| | Determines if two sets of elements are the same. More...
|
| |
| template<typename S > |
| auto | stream_inserter (S &&stream) |
| | Make a range which output to a stream. More...
|
| |
| template<typename R , typename P > |
| auto | remove_if (R &&range, P &&pred) |
| | Keep at the begining of the range only elements for which pred(elt) is false
. More...
|
| |
| template<typename P > |
| auto | remove_if (P &&pred) |
| | Keep at the begining of the range only elements for which pred(elt) is false
. More...
|
| |
| template<typename R , typename P > |
| auto | partition (R &&range, P &&pred) |
| | Reorders the elements in the range in such a way that all elements for which the predicate pred returns true precede the elements for which predicate pred returns false. More...
|
| |
| template<typename P > |
| auto | partition (P &&pred) |
| |
| template<typename R , typename P > |
| auto | stable_partition (R &&range, P &&pred) |
| | Reorders the elements in the range in such a way that all elements for which the predicate pred returns true precede the elements for which predicate pred returns false. More...
|
| |
| template<typename P > |
| auto | stable_partition (P &&pred) |
| |
| template<typename C , typename R > |
| auto | erase (C &&container, R &&subrange) |
| | Erase a sub-range of a given container. More...
|
| |
| template<typename R > |
| auto | erase (R &&range) |
| | Erase a sub-range of a given container. More...
|
| |
| template<typename R , typename P = is_lesser, typename = std ::enable_if_t<is_range<R>::value>> |
| void | sort (R &range, P &&pred={}) |
| | Sort a range in place, using the given predicate. More...
|
| |
| template<typename P = is_lesser, typename = std ::enable_if_t<not is_range<P>::value>> |
| auto | sort (P &&pred={}) |
| | Sort a range in place, using the given predicate. More...
|
| |
| template<typename R , typename P = is_lesser, typename = std ::enable_if_t<is_range<R>::value>> |
| void | stable_sort (R &range, P &&pred={}) |
| | Sorts the elements in the range in ascending order. More...
|
| |
| template<typename P = is_lesser, typename = std ::enable_if_t<not is_range<P>::value>> |
| auto | stable_sort (P &&pred={}) |
| | Sorts the elements in the range in ascending order. More...
|
| |
| template<typename R , typename URBG > |
| void | shuffle (R &range, URBG &&g) |
| | Reorders the elements in the given range such that each possible permutation of those elements has equal probability of appearance. More...
|
| |
| template<typename URBG > |
| auto | shuffle (URBG &&g) |
| | Reorders the elements in the given range such that each possible permutation of those elements has equal probability of appearance. More...
|
| |
| template<typename R , typename P = is_equal, typename = std ::enable_if_t<is_range<R>::value>> |
| auto | unique (R &&range, P &&pred={}) |
| | Remove all but first successuve values which are equals. More...
|
| |
| template<typename P = is_equal, typename = std ::enable_if_t<not is_range<P>::value>> |
| auto | unique (P &&pred={}) |
| | Remove all but first successuve values which are equals. More...
|
| |
| template<typename IN1 , typename IN2 , typename OUT > |
| void | set_difference (IN1 &&in1, IN2 &&in2, OUT &&out) |
| | Copies the elements from the sorted range in1 which are not found in the sorted range in2 to the range out The resulting range is also sorted. More...
|
| |
| template<typename IN1 , typename IN2 , typename OUT > |
| void | set_intersection (IN1 &&in1, IN2 &&in2, OUT &&out) |
| | Copies the elements from the sorted range in1 which are also found in the sorted range in2 to the range out The resulting range is also sorted. More...
|
| |
| template<typename R , std ::enable_if_t< is_range< R >::value, int > = 0> |
| auto | max_element (R &&range) |
| | Finds the greatest element in the range. More...
|
| |
| auto | max_element () |
| | Finds the greatest element in the range. More...
|
| |
| template<typename R , typename P > |
| auto | max_element (R &&range, P &&pred) |
| | Finds the greatest element in the range. More...
|
| |
| template<typename P , std ::enable_if_t<!is_range< P >::value, int > = 0> |
| auto | max_element (P &&pred) |
| | Finds the greatest element in the range. More...
|
| |
| template<typename R , std ::enable_if_t< is_range< R >::value, int > = 0> |
| auto | min_element (R &&range) |
| | Finds the smallest element in the range. More...
|
| |
| auto | min_element () |
| | Finds the smallest element in the range. More...
|
| |
| template<typename R , typename P > |
| auto | min_element (R &&range, P &&pred) |
| | Finds the smallest element in the range. More...
|
| |
| template<typename P , std ::enable_if_t<!is_range< P >::value, int > = 0> |
| auto | min_element (P &&pred) |
| | Finds the smallest element in the range. More...
|
| |
| template<typename R , typename V > |
| auto | remove (R &&range, V &&value) |
| | Keep at the begining of the range only elements not equal to value
. More...
|
| |
| template<typename V > |
| auto | remove (V &&value) |
| | Keep at the begining of the range only elements not equal to value
. More...
|
| |
| template<typename IN1 , typename IN2 , typename OUT_ > |
| void | set_difference (IN1 &&in1, IN2 &&in2, OUT_ &&out) |
| | Copies the elements from the sorted range in1 which are not found in the sorted range in2 to the range out The resulting range is also sorted. More...
|
| |
| template<typename IN1 , typename IN2 , typename OUT_ > |
| void | set_intersection (IN1 &&in1, IN2 &&in2, OUT_ &&out) |
| | Copies the elements from the sorted range in1 which are also found in the sorted range in2 to the range out The resulting range is also sorted. More...
|
| |