DeSiGNAR  0.5a
Data Structures General Library
Public Member Functions | List of all members
Designar::ContainerAlgorithms< ContainerType, T > Class Template Reference

#include <containeralgorithms.H>

Inheritance diagram for Designar::ContainerAlgorithms< ContainerType, T >:
Inheritance graph
[legend]

Public Member Functions

T * nth_ptr (nat_t i)
 
T & nth (nat_t i)
 
const T & nth (nat_t i) const
 
template<class Op >
void for_each (Op &op) const
 
template<class Op >
void for_each (Op &&op=Op()) const
 
template<class ContainerRet , class Pred >
ContainerRet filter (Pred &pred) const
 
template<class ContainerRet = SLList<T>, class Pred >
ContainerRet filter (Pred &&pred=Pred()) const
 
template<typename RetT = T, class ContainerRet = SLList<RetT>, class Op >
ContainerRet map (Op &op) const
 
template<class RetT = T, class ContainerRet = SLList<RetT>, class Op >
ContainerRet map (Op &&op=Op()) const
 
template<class RetT = T, class ContainerRet = SLList<RetT>, class Op , class Pred >
ContainerRet map_if (Op &op, Pred &pred) const
 
template<class RetT = T, class ContainerRet = SLList<RetT>, class Op , class Pred >
ContainerRet map_if (Op &op, Pred &&pred=Pred()) const
 
template<class RetT = T, class ContainerRet = SLList<RetT>, class Op , class Pred >
ContainerRet map_if (Op &&op, Pred &pred) const
 
template<typename RetT = T, class ContainerRet = SLList<RetT>, class Op , class Pred >
ContainerRet map_if (Op &&op=Op(), Pred &&pred=Pred()) const
 
template<typename RetT = T, class Op >
RetT fold (const RetT &init_val, Op &op) const
 
template<typename RetT = T, class Op >
RetT fold (const RetT &init_val, Op &&op=Op()) const
 
template<typename RetT = T, class Op >
RetT fold (RetT &&init_val, Op &op) const
 
template<typename RetT = T, class Op >
RetT fold (RetT &&init_val, Op &&op=Op()) const
 
template<class Pred >
bool all (Pred &pred) const
 
template<class Pred >
bool all (Pred &&pred=Pred()) const
 
template<class Pred >
bool exists (Pred &pred) const
 
template<class Pred >
bool exists (Pred &&pred=Pred()) const
 
template<class Pred >
bool none (Pred &pred) const
 
template<class Pred >
bool none (Pred &&pred=Pred()) const
 
template<class Pred >
T * search_ptr (Pred &pred) const
 
template<class Pred >
T * search_ptr (Pred &&pred=Pred()) const
 
template<class Pred >
bool remove_first_if (Pred &pred)
 
template<class Pred >
bool remove_first_if (Pred &&pred=Pred())
 
template<class Pred >
void remove_if (Pred &pred)
 
template<class Pred >
void remove_if (Pred &&pred=Pred())
 
template<class ContainerType2 = ContainerType, class Eq >
bool equal (const ContainerType2 &c, Eq &eq) const
 
template<class ContainerType2 = ContainerType, class Eq = std::equal_to<T>>
bool equal (const ContainerType2 &c, Eq &&eq=Eq()) const
 
template<class Cmp >
bool is_sorted (Cmp &cmp) const
 
template<class Cmp = std::less<T>>
bool is_sorted (Cmp &&cmp=Cmp()) const
 
template<class ContainerType2 = ContainerType>
SLList< std::pair< T, typename ContainerType2::KeyType > > zip (const ContainerType2 &c) const
 
template<class ContainerType2 = ContainerType>
SLList< std::pair< T, typename ContainerType2::KeyType > > zip_eq (const ContainerType2 &c) const
 
template<class ContainerType2 = ContainerType>
SLList< std::pair< T, typename ContainerType2::KeyType > > zip_left (const ContainerType2 &c) const
 
template<class ContainerType2 = ContainerType>
SLList< std::pair< T, typename ContainerType2::KeyType > > zip_right (const ContainerType2 &c) const
 
DynArray< T > to_array () const
 
SLList< T > to_list () const
 

Member Function Documentation

template<class ContainerType, typename T>
template<class Pred >
bool Designar::ContainerAlgorithms< ContainerType, T >::all ( Pred &  pred) const
inline
template<class ContainerType, typename T>
template<class Pred >
bool Designar::ContainerAlgorithms< ContainerType, T >::all ( Pred &&  pred = Pred()) const
inline
template<class ContainerType, typename T>
template<class ContainerType2 = ContainerType, class Eq >
bool Designar::ContainerAlgorithms< ContainerType, T >::equal ( const ContainerType2 &  c,
Eq &  eq 
) const
inline
template<class ContainerType, typename T>
template<class ContainerType2 = ContainerType, class Eq = std::equal_to<T>>
bool Designar::ContainerAlgorithms< ContainerType, T >::equal ( const ContainerType2 &  c,
Eq &&  eq = Eq() 
) const
inline
template<class ContainerType, typename T>
template<class Pred >
bool Designar::ContainerAlgorithms< ContainerType, T >::exists ( Pred &  pred) const
inline
template<class ContainerType, typename T>
template<class Pred >
bool Designar::ContainerAlgorithms< ContainerType, T >::exists ( Pred &&  pred = Pred()) const
inline
template<class ContainerType, typename T>
template<class ContainerRet , class Pred >
ContainerRet Designar::ContainerAlgorithms< ContainerType, T >::filter ( Pred &  pred) const
inline
template<class ContainerType, typename T>
template<class ContainerRet = SLList<T>, class Pred >
ContainerRet Designar::ContainerAlgorithms< ContainerType, T >::filter ( Pred &&  pred = Pred()) const
inline
template<class ContainerType, typename T>
template<typename RetT = T, class Op >
RetT Designar::ContainerAlgorithms< ContainerType, T >::fold ( const RetT &  init_val,
Op &  op 
) const
inline
template<class ContainerType, typename T>
template<typename RetT = T, class Op >
RetT Designar::ContainerAlgorithms< ContainerType, T >::fold ( const RetT &  init_val,
Op &&  op = Op() 
) const
inline
template<class ContainerType, typename T>
template<typename RetT = T, class Op >
RetT Designar::ContainerAlgorithms< ContainerType, T >::fold ( RetT &&  init_val,
Op &  op 
) const
inline
template<class ContainerType, typename T>
template<typename RetT = T, class Op >
RetT Designar::ContainerAlgorithms< ContainerType, T >::fold ( RetT &&  init_val,
Op &&  op = Op() 
) const
inline
template<class ContainerType, typename T>
template<class Op >
void Designar::ContainerAlgorithms< ContainerType, T >::for_each ( Op &  op) const
inline
template<class ContainerType, typename T>
template<class Op >
void Designar::ContainerAlgorithms< ContainerType, T >::for_each ( Op &&  op = Op()) const
inline
template<class ContainerType, typename T>
template<class Cmp >
bool Designar::ContainerAlgorithms< ContainerType, T >::is_sorted ( Cmp &  cmp) const
inline
template<class ContainerType, typename T>
template<class Cmp = std::less<T>>
bool Designar::ContainerAlgorithms< ContainerType, T >::is_sorted ( Cmp &&  cmp = Cmp()) const
inline
template<class ContainerType, typename T>
template<typename RetT = T, class ContainerRet = SLList<RetT>, class Op >
ContainerRet Designar::ContainerAlgorithms< ContainerType, T >::map ( Op &  op) const
inline
template<class ContainerType, typename T>
template<class RetT = T, class ContainerRet = SLList<RetT>, class Op >
ContainerRet Designar::ContainerAlgorithms< ContainerType, T >::map ( Op &&  op = Op()) const
inline
template<class ContainerType, typename T>
template<class RetT = T, class ContainerRet = SLList<RetT>, class Op , class Pred >
ContainerRet Designar::ContainerAlgorithms< ContainerType, T >::map_if ( Op &  op,
Pred &  pred 
) const
inline
template<class ContainerType, typename T>
template<class RetT = T, class ContainerRet = SLList<RetT>, class Op , class Pred >
ContainerRet Designar::ContainerAlgorithms< ContainerType, T >::map_if ( Op &  op,
Pred &&  pred = Pred() 
) const
inline
template<class ContainerType, typename T>
template<class RetT = T, class ContainerRet = SLList<RetT>, class Op , class Pred >
ContainerRet Designar::ContainerAlgorithms< ContainerType, T >::map_if ( Op &&  op,
Pred &  pred 
) const
inline
template<class ContainerType, typename T>
template<typename RetT = T, class ContainerRet = SLList<RetT>, class Op , class Pred >
ContainerRet Designar::ContainerAlgorithms< ContainerType, T >::map_if ( Op &&  op = Op(),
Pred &&  pred = Pred() 
) const
inline
template<class ContainerType, typename T>
template<class Pred >
bool Designar::ContainerAlgorithms< ContainerType, T >::none ( Pred &  pred) const
inline
template<class ContainerType, typename T>
template<class Pred >
bool Designar::ContainerAlgorithms< ContainerType, T >::none ( Pred &&  pred = Pred()) const
inline
template<class ContainerType, typename T>
T& Designar::ContainerAlgorithms< ContainerType, T >::nth ( nat_t  i)
inline
template<class ContainerType, typename T>
const T& Designar::ContainerAlgorithms< ContainerType, T >::nth ( nat_t  i) const
inline
template<class ContainerType, typename T>
T* Designar::ContainerAlgorithms< ContainerType, T >::nth_ptr ( nat_t  i)
inline
template<class ContainerType, typename T>
template<class Pred >
bool Designar::ContainerAlgorithms< ContainerType, T >::remove_first_if ( Pred &  pred)
inline
template<class ContainerType, typename T>
template<class Pred >
bool Designar::ContainerAlgorithms< ContainerType, T >::remove_first_if ( Pred &&  pred = Pred())
inline
template<class ContainerType, typename T>
template<class Pred >
void Designar::ContainerAlgorithms< ContainerType, T >::remove_if ( Pred &  pred)
inline
template<class ContainerType, typename T>
template<class Pred >
void Designar::ContainerAlgorithms< ContainerType, T >::remove_if ( Pred &&  pred = Pred())
inline
template<class ContainerType, typename T>
template<class Pred >
T* Designar::ContainerAlgorithms< ContainerType, T >::search_ptr ( Pred &  pred) const
inline
template<class ContainerType, typename T>
template<class Pred >
T* Designar::ContainerAlgorithms< ContainerType, T >::search_ptr ( Pred &&  pred = Pred()) const
inline
template<class ContainerType, typename T>
DynArray<T> Designar::ContainerAlgorithms< ContainerType, T >::to_array ( ) const
inline
template<class ContainerType, typename T>
SLList<T> Designar::ContainerAlgorithms< ContainerType, T >::to_list ( ) const
inline
template<class ContainerType, typename T>
template<class ContainerType2 = ContainerType>
SLList<std::pair<T, typename ContainerType2::KeyType> > Designar::ContainerAlgorithms< ContainerType, T >::zip ( const ContainerType2 &  c) const
inline
template<class ContainerType, typename T>
template<class ContainerType2 = ContainerType>
SLList<std::pair<T, typename ContainerType2::KeyType> > Designar::ContainerAlgorithms< ContainerType, T >::zip_eq ( const ContainerType2 &  c) const
inline
template<class ContainerType, typename T>
template<class ContainerType2 = ContainerType>
SLList<std::pair<T, typename ContainerType2::KeyType> > Designar::ContainerAlgorithms< ContainerType, T >::zip_left ( const ContainerType2 &  c) const
inline
template<class ContainerType, typename T>
template<class ContainerType2 = ContainerType>
SLList<std::pair<T, typename ContainerType2::KeyType> > Designar::ContainerAlgorithms< ContainerType, T >::zip_right ( const ContainerType2 &  c) const
inline

The documentation for this class was generated from the following file: