DeSiGNAR  0.5a
Data Structures General Library
Classes | Public Types | Public Member Functions | List of all members
Designar::Range< T > Class Template Reference

#include <range.H>

Inheritance diagram for Designar::Range< T >:
Inheritance graph
[legend]
Collaboration diagram for Designar::Range< T >:
Collaboration graph
[legend]

Classes

class  Iterator
 

Public Types

using ItemType = T
 
using KeyType = T
 
using DataType = T
 
using ValueType = T
 
using SizeType = nat_t
 

Public Member Functions

 Range (T _first, T _last, T _step=T(1))
 
 Range (T _last)
 
 Range ()
 
min () const
 
max () const
 
step_size () const
 
nat_t size () const
 
bool operator== (const Range &r) const
 
bool operator!= (const Range &r) const
 
Iterator begin () const
 
Iterator end () const
 
- Public Member Functions inherited from Designar::ContainerAlgorithms< Range< T >, T >
T * nth_ptr (nat_t i)
 
T & nth (nat_t i)
 
const T & nth (nat_t i) const
 
void for_each (Op &op) const
 
void for_each (Op &&op=Op()) const
 
ContainerRet filter (Pred &pred) const
 
ContainerRet filter (Pred &&pred=Pred()) const
 
ContainerRet map (Op &op) const
 
ContainerRet map (Op &&op=Op()) const
 
ContainerRet map_if (Op &op, Pred &pred) const
 
ContainerRet map_if (Op &op, Pred &&pred=Pred()) const
 
ContainerRet map_if (Op &&op, Pred &pred) const
 
ContainerRet map_if (Op &&op=Op(), Pred &&pred=Pred()) const
 
RetT fold (const RetT &init_val, Op &op) const
 
RetT fold (const RetT &init_val, Op &&op=Op()) const
 
RetT fold (RetT &&init_val, Op &op) const
 
RetT fold (RetT &&init_val, Op &&op=Op()) const
 
bool all (Pred &pred) const
 
bool all (Pred &&pred=Pred()) const
 
bool exists (Pred &pred) const
 
bool exists (Pred &&pred=Pred()) const
 
bool none (Pred &pred) const
 
bool none (Pred &&pred=Pred()) const
 
T * search_ptr (Pred &pred) const
 
T * search_ptr (Pred &&pred=Pred()) const
 
bool remove_first_if (Pred &pred)
 
bool remove_first_if (Pred &&pred=Pred())
 
void remove_if (Pred &pred)
 
void remove_if (Pred &&pred=Pred())
 
bool equal (const ContainerType2 &c, Eq &eq) const
 
bool equal (const ContainerType2 &c, Eq &&eq=Eq()) const
 
bool is_sorted (Cmp &cmp) const
 
bool is_sorted (Cmp &&cmp=Cmp()) const
 
SLList< std::pair< T, typename ContainerType2::KeyType > > zip (const ContainerType2 &c) const
 
SLList< std::pair< T, typename ContainerType2::KeyType > > zip_eq (const ContainerType2 &c) const
 
SLList< std::pair< T, typename ContainerType2::KeyType > > zip_left (const ContainerType2 &c) const
 
SLList< std::pair< T, typename ContainerType2::KeyType > > zip_right (const ContainerType2 &c) const
 
DynArray< T > to_array () const
 
SLList< T > to_list () const
 

Member Typedef Documentation

template<typename T>
using Designar::Range< T >::DataType = T
template<typename T>
using Designar::Range< T >::ItemType = T
template<typename T>
using Designar::Range< T >::KeyType = T
template<typename T>
using Designar::Range< T >::SizeType = nat_t
template<typename T>
using Designar::Range< T >::ValueType = T

Constructor & Destructor Documentation

template<typename T>
Designar::Range< T >::Range ( _first,
_last,
_step = T(1) 
)
inline
template<typename T>
Designar::Range< T >::Range ( _last)
inline
template<typename T>
Designar::Range< T >::Range ( )
inline

Member Function Documentation

template<typename T>
Iterator Designar::Range< T >::begin ( ) const
inline
template<typename T>
Iterator Designar::Range< T >::end ( ) const
inline
template<typename T>
T Designar::Range< T >::max ( ) const
inline
template<typename T>
T Designar::Range< T >::min ( ) const
inline
template<typename T>
bool Designar::Range< T >::operator!= ( const Range< T > &  r) const
inline
template<typename T>
bool Designar::Range< T >::operator== ( const Range< T > &  r) const
inline
template<typename T>
nat_t Designar::Range< T >::size ( ) const
inline
template<typename T>
T Designar::Range< T >::step_size ( ) const
inline

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