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

#include <italgorithms.H>

Inheritance diagram for Designar::SLList< T >:
Inheritance graph
[legend]
Collaboration diagram for Designar::SLList< 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 Types inherited from Designar::NodeSLList< T >
using Node = SLNode< T >
 

Public Member Functions

 SLList ()
 
 SLList (const SLList &l)
 
 SLList (SLList &&l)
 
 SLList (const std::initializer_list< T > &)
 
 ~SLList ()
 
nat_t size () const
 
void clear ()
 
T & insert (const T &item)
 
T & insert (T &&item)
 
T & append (const T &item)
 
T & append (T &&item)
 
T & get_first ()
 
const T & get_first () const
 
T & get_last ()
 
const T & get_last () const
 
remove_first ()
 
void swap (SLList &l)
 
void concat (SLList &l)
 
SLListoperator= (const SLList &l)
 
SLListoperator= (SLList &&l)
 
Iterator begin ()
 
Iterator begin () const
 
Iterator end ()
 
Iterator end () const
 
T & select (nat_t)
 
const T & select (nat_t) const
 
T & operator[] (nat_t i)
 
const T & operator[] (nat_t i) const
 
- Public Member Functions inherited from Designar::NodeSLList< T >
 NodeSLList ()
 
 NodeSLList (const NodeSLList &)=delete
 
 NodeSLList (NodeSLList &&l)
 
NodeSLListoperator= (const NodeSLList &)=delete
 
NodeSLListoperator= (NodeSLList &&l)
 
void swap (NodeSLList &l)
 
bool is_empty () const
 
bool is_unitarian_or_empty () const
 
bool is_unitarian () const
 
void insert (Node *node)
 
void append (Node *node)
 
Node *& get_first ()
 
const Node *& get_first () const
 
Node *& get_last ()
 
const Node *& get_last () const
 
Noderemove_first ()
 
void concat (NodeSLList *l)
 
void concat (NodeSLList &l)
 
void split (NodeSLList &, NodeSLList &)
 
- Public Member Functions inherited from Designar::ContainerAlgorithms< SLList< 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::SLList< T >::DataType = T
template<typename T>
using Designar::SLList< T >::ItemType = T
template<typename T>
using Designar::SLList< T >::KeyType = T
template<typename T>
using Designar::SLList< T >::SizeType = nat_t
template<typename T>
using Designar::SLList< T >::ValueType = T

Constructor & Destructor Documentation

template<typename T>
Designar::SLList< T >::SLList ( )
inline
template<typename T>
Designar::SLList< T >::SLList ( const SLList< T > &  l)
inline
template<typename T>
Designar::SLList< T >::SLList ( SLList< T > &&  l)
inline
template<typename T >
Designar::SLList< T >::SLList ( const std::initializer_list< T > &  l)
template<typename T>
Designar::SLList< T >::~SLList ( )
inline

Member Function Documentation

template<typename T>
T& Designar::SLList< T >::append ( const T &  item)
inline
template<typename T>
T& Designar::SLList< T >::append ( T &&  item)
inline
template<typename T>
Iterator Designar::SLList< T >::begin ( )
inline
template<typename T>
Iterator Designar::SLList< T >::begin ( ) const
inline
template<typename T>
void Designar::SLList< T >::clear ( )
inline
template<typename T>
void Designar::SLList< T >::concat ( SLList< T > &  l)
inline
template<typename T>
Iterator Designar::SLList< T >::end ( )
inline
template<typename T>
Iterator Designar::SLList< T >::end ( ) const
inline
template<typename T>
T& Designar::SLList< T >::get_first ( )
inline
template<typename T>
const T& Designar::SLList< T >::get_first ( ) const
inline
template<typename T>
T& Designar::SLList< T >::get_last ( )
inline
template<typename T>
const T& Designar::SLList< T >::get_last ( ) const
inline
template<typename T>
T& Designar::SLList< T >::insert ( const T &  item)
inline
template<typename T>
T& Designar::SLList< T >::insert ( T &&  item)
inline
template<typename T>
SLList& Designar::SLList< T >::operator= ( const SLList< T > &  l)
inline
template<typename T>
SLList& Designar::SLList< T >::operator= ( SLList< T > &&  l)
inline
template<typename T>
T& Designar::SLList< T >::operator[] ( nat_t  i)
inline
template<typename T>
const T& Designar::SLList< T >::operator[] ( nat_t  i) const
inline
template<typename T>
T Designar::SLList< T >::remove_first ( )
inline
template<typename T >
T & Designar::SLList< T >::select ( nat_t  i)
template<typename T >
const T & Designar::SLList< T >::select ( nat_t  i) const
template<typename T>
nat_t Designar::SLList< T >::size ( ) const
inline
template<typename T>
void Designar::SLList< T >::swap ( SLList< T > &  l)
inline

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