Any container class with begin and end iterators can inherit from this CRTP class to gain some useful algorithms as member functions.
More...
|
template<class F > |
auto | transform (F function) const |
| Return a new container generated by applying some transformation function to all elements of this one.
|
|
template<class Predicate > |
auto | findBy (Predicate p) const |
| Return a copy containing only those elements for which a given predicate returns true.
|
|
template<class K0 , class V0 , class... KeysValues> |
auto | findBy (K0 k0, V0 v0, KeysValues... keysValues) const |
| Return a copy containing only those elements matching some particular key/value pair(s). More...
|
|
template<class Predicate > |
const auto & | findFirstBy (Predicate p) const |
| Return a reference to the first element for which a given predicate returns true. Undefined if there is none.
|
|
template<class K , class V > |
const auto & | findFirstBy (K key, V value) const |
| Return a reference to the first element matching some particular key/value pair(s). Undefined if there is none.
|
|
template<class Predicate , class Value > |
auto | findFirstByOrDefault (Predicate p, const Value &def) const |
| Return a copy of the first element for which a given predicate returns true, or a default value if there is none.
|
|
template<class Predicate > |
auto | findFirstByOrDefault (Predicate p) const |
| Return a copy of the first element for which a given predicate returns true, or a default value if there is none.
|
|
template<class K , class V , class Value > |
auto | findFirstByOrDefault (K key, V value, const Value &def) const |
| Return a copy of the first element matching some particular key/value pair(s), or a default value if there is none.
|
|
template<class T , class K , class V > |
auto | findFirstByOrDefault (K T::*key, V value) const |
| Return a copy of the first element matching some particular key/value pair(s), or a default value if there is none.
|
|
template<class Predicate > |
bool | containsBy (Predicate p) const |
| Return true if there is an element for which a given predicate returns true.
|
|
template<class T > |
bool | contains (const T &object) const |
| Return true if there is an element equal to given object. Uses the most efficient implementation available in the derived container.
|
|
template<class K0 , class V0 , class... KeysValues> |
bool | contains (K0 k0, V0 v0, KeysValues... keysValues) const |
| Return a copy containing only those elements matching some particular key/value pair(s). More...
|
|
template<class T , class Predicate > |
bool | equalsBy (const T &other, Predicate c) const |
| Return true if this container equals another container according to the given element equality predicate.
|
|
template<class T , class Key0 , class... Keys> |
bool | equalsByKeys (const T &other, Key0 k0, Keys... keys) const |
| Return true if this container equals another container, considering only the given element members.
|
|
template<class T > |
T | randomElement () const |
| Pick one random element.
|
|
Derived | randomElements (int n) const |
| Copy n elements from the container at random.
|
|
Derived | sampleElements (int n) const |
| Copy n elements from the container, randomly selected but evenly distributed.
|
|
template<class Derived>
class swift::misc::CRangeBase< Derived >
Any container class with begin and end iterators can inherit from this CRTP class to gain some useful algorithms as member functions.
- Template Parameters
-
Derived | The most derived container class inheriting from this instantiation. |
Definition at line 32 of file range.h.