DeSiGNAR  0.5a
Data Structures General Library
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
Designar::GenArraySet< Key, Cmp, ArraySetOp > Class Template Reference

#include <set.H>

Inheritance diagram for Designar::GenArraySet< Key, Cmp, ArraySetOp >:
Inheritance graph
[legend]
Collaboration diagram for Designar::GenArraySet< Key, Cmp, ArraySetOp >:
Collaboration graph
[legend]

Classes

class  Iterator
 

Public Types

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

Public Member Functions

 GenArraySet (nat_t cap, Cmp &_cmp)
 
 GenArraySet (Cmp &&_cmp=Cmp())
 
 GenArraySet (nat_t cap, Cmp &&_cmp=Cmp())
 
 GenArraySet (const GenArraySet &a)
 
 GenArraySet (GenArraySet &&a)
 
 GenArraySet (const std::initializer_list< Key > &)
 
GenArraySetoperator= (const GenArraySet &a)
 
GenArraySetoperator= (GenArraySet &&a)
 
void swap (GenArraySet &a)
 
Cmp & get_cmp ()
 
const Cmp & get_cmp () const
 
bool is_empty () const
 
nat_t size () const
 
void clear ()
 
Key * append (const Key &k)
 
Key * append (Key &&k)
 
Key * append_dup (const Key &k)
 
Key * append_dup (Key &&k)
 
Key * search (const Key &item)
 
const Key * search (const Key &item) const
 
Key & find (const Key &item)
 
const Key & find (const Key &item) const
 
bool remove (const Key &item)
 
Key & operator[] (nat_t i)
 
const Key & operator[] (nat_t i) const
 
Iterator begin ()
 
Iterator begin () const
 
Iterator end ()
 
Iterator end () const
 
- Public Member Functions inherited from Designar::ContainerAlgorithms< GenArraySet< Key, Cmp, ArraySetOp >, Key >
Key * nth_ptr (nat_t i)
 
Key & nth (nat_t i)
 
const Key & 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
 
Key * search_ptr (Pred &pred) const
 
Key * 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< Key, typename ContainerType2::KeyType > > zip (const ContainerType2 &c) const
 
SLList< std::pair< Key, typename ContainerType2::KeyType > > zip_eq (const ContainerType2 &c) const
 
SLList< std::pair< Key, typename ContainerType2::KeyType > > zip_left (const ContainerType2 &c) const
 
SLList< std::pair< Key, typename ContainerType2::KeyType > > zip_right (const ContainerType2 &c) const
 
DynArray< Key > to_array () const
 
SLList< Key > to_list () const
 
- Public Member Functions inherited from Designar::SetAlgorithms< GenArraySet< Key, Cmp, ArraySetOp >, Key >
bool contains (const Key &k) const
 
bool has (const Key &k) const
 
GenArraySet< Key, Cmp, ArraySetOp > join (const GenArraySet< Key, Cmp, ArraySetOp > &s) const
 
GenArraySet< Key, Cmp, ArraySetOp > intersect (const GenArraySet< Key, Cmp, ArraySetOp > &s) const
 
GenArraySet< Key, Cmp, ArraySetOp > difference (const GenArraySet< Key, Cmp, ArraySetOp > &s) const
 
SLList< std::pair< Key, typename SetType2::KeyType > > cartesian_product (const SetType2 &s) const
 

Public Attributes

DynArray< Key > array
 
Cmp & cmp
 

Additional Inherited Members

- Static Public Member Functions inherited from Designar::SetAlgorithms< GenArraySet< Key, Cmp, ArraySetOp >, Key >
static GenArraySet< Key, Cmp, ArraySetOp > join (const GenArraySet< Key, Cmp, ArraySetOp > &s1, const GenArraySet< Key, Cmp, ArraySetOp > &s2)
 
static GenArraySet< Key, Cmp, ArraySetOp > intersect (const GenArraySet< Key, Cmp, ArraySetOp > &s1, const GenArraySet< Key, Cmp, ArraySetOp > &s2)
 
static GenArraySet< Key, Cmp, ArraySetOp > difference (const GenArraySet< Key, Cmp, ArraySetOp > &s1, const GenArraySet< Key, Cmp, ArraySetOp > &s2)
 
static SLList< std::pair< Key, typename SetType2::KeyType > > cartesian_product (const GenArraySet< Key, Cmp, ArraySetOp > &s1, const SetType2 &s2)
 

Member Typedef Documentation

template<typename Key, class Cmp, class ArraySetOp>
using Designar::GenArraySet< Key, Cmp, ArraySetOp >::DataType = Key
template<typename Key, class Cmp, class ArraySetOp>
using Designar::GenArraySet< Key, Cmp, ArraySetOp >::ItemType = Key
template<typename Key, class Cmp, class ArraySetOp>
using Designar::GenArraySet< Key, Cmp, ArraySetOp >::KeyType = Key
template<typename Key, class Cmp, class ArraySetOp>
using Designar::GenArraySet< Key, Cmp, ArraySetOp >::SizeType = nat_t
template<typename Key, class Cmp, class ArraySetOp>
using Designar::GenArraySet< Key, Cmp, ArraySetOp >::ValueType = Key

Constructor & Destructor Documentation

template<typename Key, class Cmp, class ArraySetOp>
Designar::GenArraySet< Key, Cmp, ArraySetOp >::GenArraySet ( nat_t  cap,
Cmp &  _cmp 
)
inline
template<typename Key, class Cmp, class ArraySetOp>
Designar::GenArraySet< Key, Cmp, ArraySetOp >::GenArraySet ( Cmp &&  _cmp = Cmp())
inline
template<typename Key, class Cmp, class ArraySetOp>
Designar::GenArraySet< Key, Cmp, ArraySetOp >::GenArraySet ( nat_t  cap,
Cmp &&  _cmp = Cmp() 
)
inline
template<typename Key, class Cmp, class ArraySetOp>
Designar::GenArraySet< Key, Cmp, ArraySetOp >::GenArraySet ( const GenArraySet< Key, Cmp, ArraySetOp > &  a)
inline
template<typename Key, class Cmp, class ArraySetOp>
Designar::GenArraySet< Key, Cmp, ArraySetOp >::GenArraySet ( GenArraySet< Key, Cmp, ArraySetOp > &&  a)
inline
template<typename Key, class Cmp, class ArraySetOp >
Designar::GenArraySet< Key, Cmp, ArraySetOp >::GenArraySet ( const std::initializer_list< Key > &  l)

Member Function Documentation

template<typename Key, class Cmp, class ArraySetOp>
Key* Designar::GenArraySet< Key, Cmp, ArraySetOp >::append ( const Key &  k)
inline
template<typename Key, class Cmp, class ArraySetOp>
Key* Designar::GenArraySet< Key, Cmp, ArraySetOp >::append ( Key &&  k)
inline
template<typename Key, class Cmp, class ArraySetOp>
Key* Designar::GenArraySet< Key, Cmp, ArraySetOp >::append_dup ( const Key &  k)
inline
template<typename Key, class Cmp, class ArraySetOp>
Key* Designar::GenArraySet< Key, Cmp, ArraySetOp >::append_dup ( Key &&  k)
inline
template<typename Key, class Cmp, class ArraySetOp>
Iterator Designar::GenArraySet< Key, Cmp, ArraySetOp >::begin ( )
inline
template<typename Key, class Cmp, class ArraySetOp>
Iterator Designar::GenArraySet< Key, Cmp, ArraySetOp >::begin ( ) const
inline
template<typename Key, class Cmp, class ArraySetOp>
void Designar::GenArraySet< Key, Cmp, ArraySetOp >::clear ( )
inline
template<typename Key, class Cmp, class ArraySetOp>
Iterator Designar::GenArraySet< Key, Cmp, ArraySetOp >::end ( )
inline
template<typename Key, class Cmp, class ArraySetOp>
Iterator Designar::GenArraySet< Key, Cmp, ArraySetOp >::end ( ) const
inline
template<typename Key, class Cmp, class ArraySetOp>
Key& Designar::GenArraySet< Key, Cmp, ArraySetOp >::find ( const Key &  item)
inline
template<typename Key, class Cmp, class ArraySetOp>
const Key& Designar::GenArraySet< Key, Cmp, ArraySetOp >::find ( const Key &  item) const
inline
template<typename Key, class Cmp, class ArraySetOp>
Cmp& Designar::GenArraySet< Key, Cmp, ArraySetOp >::get_cmp ( )
inline
template<typename Key, class Cmp, class ArraySetOp>
const Cmp& Designar::GenArraySet< Key, Cmp, ArraySetOp >::get_cmp ( ) const
inline
template<typename Key, class Cmp, class ArraySetOp>
bool Designar::GenArraySet< Key, Cmp, ArraySetOp >::is_empty ( ) const
inline
template<typename Key, class Cmp, class ArraySetOp>
GenArraySet& Designar::GenArraySet< Key, Cmp, ArraySetOp >::operator= ( const GenArraySet< Key, Cmp, ArraySetOp > &  a)
inline
template<typename Key, class Cmp, class ArraySetOp>
GenArraySet& Designar::GenArraySet< Key, Cmp, ArraySetOp >::operator= ( GenArraySet< Key, Cmp, ArraySetOp > &&  a)
inline
template<typename Key, class Cmp, class ArraySetOp>
Key& Designar::GenArraySet< Key, Cmp, ArraySetOp >::operator[] ( nat_t  i)
inline
template<typename Key, class Cmp, class ArraySetOp>
const Key& Designar::GenArraySet< Key, Cmp, ArraySetOp >::operator[] ( nat_t  i) const
inline
template<typename Key, class Cmp, class ArraySetOp>
bool Designar::GenArraySet< Key, Cmp, ArraySetOp >::remove ( const Key &  item)
inline
template<typename Key, class Cmp, class ArraySetOp>
Key* Designar::GenArraySet< Key, Cmp, ArraySetOp >::search ( const Key &  item)
inline
template<typename Key, class Cmp, class ArraySetOp>
const Key* Designar::GenArraySet< Key, Cmp, ArraySetOp >::search ( const Key &  item) const
inline
template<typename Key, class Cmp, class ArraySetOp>
nat_t Designar::GenArraySet< Key, Cmp, ArraySetOp >::size ( ) const
inline
template<typename Key, class Cmp, class ArraySetOp>
void Designar::GenArraySet< Key, Cmp, ArraySetOp >::swap ( GenArraySet< Key, Cmp, ArraySetOp > &  a)
inline

Member Data Documentation

template<typename Key, class Cmp, class ArraySetOp>
DynArray<Key> Designar::GenArraySet< Key, Cmp, ArraySetOp >::array
template<typename Key, class Cmp, class ArraySetOp>
Cmp& Designar::GenArraySet< Key, Cmp, ArraySetOp >::cmp

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