Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
StlAlephIterator< SetName > Class Template Reference

Mixin that adds STL begin()/end() and cbegin()/cend() to Aleph containers. More...

#include <ah-iterator.H>

Inherited by Aleph::Array< size_t >, Aleph::Array< std::string >, Aleph::Array< int >, Aleph::Array< Aleph::Array< std::string > >, Aleph::Array< string >, Aleph::ArrayQueue< int >, Aleph::ArrayQueue< Aleph::DynList< int > >, Aleph::ArrayStack< Node * >, Aleph::ArrayStack< int >, Aleph::ArrayStack< Aleph::DynList< int > >, Aleph::DynArray< GT_Node * >, Aleph::DynArray< Point >, Aleph::DynArray< Node * >, Aleph::DynArray< Entry_Type >, Aleph::DynArray< typename GT::Arc * >, Aleph::DynArray< Aleph::Byte >, Aleph::DynArray< typename GT::Node * >, Aleph::DynArray< long >, Aleph::DynArray< Distance_Type >, Aleph::DynArray< Dnode< Key > >, Aleph::DynArray< Aleph::Map_Matrix_Graph::Mat_Entry >, Aleph::DynArray< Node_Type >, Aleph::DynArray< Arc_Type >, Aleph::DynArray< Aleph::Simplex_Node_Info >, Aleph::DynArray< Aleph::Simplex_Arc_Info >, Aleph::DynArray< string >, Aleph::DynArray< int >, Aleph::DynArray< Event_Handler >, Aleph::DynArray< size_t >, Aleph::DynArray< void * >, Aleph::DynArray< Aleph::DynArray< Node * > >, Aleph::DynArray< double >, Aleph::DynDlist< typename GT::Node * >, Aleph::DynDlist< Aleph::Path::Path_Desc >, Aleph::DynDlist< T * >, Aleph::DynDlist< ConstraintType >, Aleph::DynDlist< int >, Aleph::DynDlist< Tag_Data >, Aleph::DynDlist< Arc_Desc >, Aleph::DynDlist< Thread_Desc >, Aleph::DynDlist< Eepic_Geom_Object * >, Aleph::DynDlist< Polinomio::Termino >, Aleph::DynDlist< Arc_Data >, Aleph::DynDlist< Connexion_Data >, Aleph::DynHashTable< std::pair< Key, Data >, LhashTable, Dft_Pair_Cmp< Key, Data, Aleph::equal_to< Key > > >, Aleph::DynHashTable< Key, LhashTable, Aleph::equal_to< Key > >, Aleph::DynHashTable< Key, LinearHashTable, Aleph::equal_to< Key > >, Aleph::DynList< int >, Aleph::DynList< std::pair< size_t, size_t > >, Aleph::DynList< typename GT::Arc * >, Aleph::DynList< Arc * >, Aleph::DynList< Node * >, Aleph::DynList< Aleph::FlowPath< Aleph::Net_Graph > >, Aleph::DynList< Aleph::FlowCycle< Aleph::Net_Graph > >, Aleph::DynList< void * >, Aleph::DynList< typename GT::Node * >, Aleph::DynList< Aleph::Tree_Node * >, Aleph::DynList< Aleph::DynList< int > >, Aleph::DynList< size_t >, Aleph::DynList< Point >, Aleph::DynList< QueueTheadsPool::ConsumerQueueEvent * >, Aleph::DynList< char >, Aleph::DynList< string >, Aleph::DynList< std::string >, Aleph::DynList< std::thread >, Aleph::DynListQueue< Aleph::DynList< int > >, Aleph::DynListQueue< int >, Aleph::DynListStack< typename GT::Node * >, Aleph::DynListStack< Aleph::Tree_Node * >, Aleph::DynListStack< Aleph::DynList< int > >, Aleph::DynListStack< int >, Aleph::DynListStack< string >, Aleph::DynSetTree< GT::Arc *, Treap, Dft_Arc_Cmp< GT > >, Aleph::DynSetTree< std::pair< Key, Type >, Avl_Tree, Dft_Pair_Cmp< Key, Type, Aleph::less< Key > > >, Aleph::DynSetTree< std::pair< Key, Type >, BinTree, Dft_Pair_Cmp< Key, Type, Aleph::less< Key > > >, Aleph::DynSetTree< std::pair< Key, Type >, Rand_Tree, Dft_Pair_Cmp< Key, Type, Aleph::less< Key > > >, Aleph::DynSetTree< std::pair< Key, Type >, Rb_Tree, Dft_Pair_Cmp< Key, Type, Aleph::less< Key > > >, Aleph::DynSetTree< std::pair< Key, Type >, Splay_Tree, Dft_Pair_Cmp< Key, Type, Aleph::less< Key > > >, Aleph::DynSetTree< std::pair< Key, Type >, Treap, Dft_Pair_Cmp< Key, Type, Aleph::less< Key > > >, Aleph::DynSetTree< std::pair< Key, Type >, Treap_Rk, Dft_Pair_Cmp< Key, Type, Aleph::less< Key > > >, Aleph::DynSetTree< std::pair< Key, Data >, Avl_Tree, Dft_Pair_Cmp< Key, Data, Aleph::less< Key > > >, Aleph::DynSetTree< Key, Avl_Tree_Rk, Aleph::less< Key > >, Aleph::DynSetTree< Key, Avl_Tree, Aleph::less< Key > >, Aleph::DynSetTree< Key, BinTree, Aleph::less< Key > >, Aleph::DynSetTree< Key, HtdRbTreeRk, Aleph::less< Key > >, Aleph::DynSetTree< Key, HtdRbTree, Aleph::less< Key > >, Aleph::DynSetTree< Key, Rand_Tree, Aleph::less< Key > >, Aleph::DynSetTree< Key, Rb_Tree_Rk, Aleph::less< Key > >, Aleph::DynSetTree< Key, Rb_Tree, Aleph::less< Key > >, Aleph::DynSetTree< Key, Splay_Tree_Rk, Aleph::less< Key > >, Aleph::DynSetTree< Key, Splay_Tree, Aleph::less< Key > >, Aleph::DynSetTree< Key, TdRbTreeRk, Aleph::less< Key > >, Aleph::DynSetTree< Key, TdRbTree, Aleph::less< Key > >, Aleph::DynSetTree< Key, Treap, Aleph::less< Key > >, Aleph::DynSetTree< Key, Treap_Rk, Aleph::less< Key > >, Aleph::DynSetTree< Node * >, Aleph::DynSetTree< GT::Node *, Treap, Dft_Node_Cmp< GT > >, Aleph::DynSetTree< GT_Arc *, Rand_Tree, Aleph::IndexArc::Cmp_Arc >, Aleph::DynSetTree< std::pair< Key, Operation >, Avl_Tree, Dft_Pair_Cmp< Key, Operation, Aleph::less< Key > > >, Aleph::DynSetTree< std::pair< Key, ValueType >, Avl_Tree, Dft_Pair_Cmp< Key, ValueType, Aleph::less< Key > > >, Aleph::DynSetTree< std::pair< void *, Flow_Type >, Avl_Tree, Dft_Pair_Cmp< void *, Flow_Type, Aleph::less< void * > > >, Aleph::DynSetTree< std::pair< Node *, Node * >, Treap, Dft_Pair_Cmp< Node *, Node *, Aleph::less< Node * > > >, Aleph::DynSetTree< std::pair< std::string, Huffman_Node * >, Treap_Vtl, Dft_Pair_Cmp< std::string, Huffman_Node *, Aleph::less< std::string > > >, Aleph::DynSetTree< std::pair< std::string, BitArray >, Treap_Vtl, Dft_Pair_Cmp< std::string, BitArray, Aleph::less< std::string > > >, Aleph::DynSetTree< GT_Node *, Treap, Dft_Node_Cmp< GT > >, Aleph::DynSetTree< GT_Arc *, Treap, Aleph::IndexArc::Cmp_Arc >, Aleph::DynSetTree< std::pair< int, int >, Avl_Tree, Aleph::less< std::pair< int, int > > >, Aleph::DynSetTree< std::pair< Node *, Node * >, Avl_Tree, Dft_Pair_Cmp< Node *, Node *, Aleph::less< Node * > > >, Aleph::DynSetTree< std::pair< Arc *, Arc * >, Avl_Tree, Dft_Pair_Cmp< Arc *, Arc *, Aleph::less< Arc * > > >, Aleph::DynSetTree< std::pair< Node *, Distance_Type >, Avl_Tree, Dft_Pair_Cmp< Node *, Distance_Type, Aleph::less< Node * > > >, Aleph::DynSetTree< Node *, Rand_Tree >, Aleph::DynSetTree< Arc *, Rand_Tree >, Aleph::DynSetTree< std::pair< Node *, size_t >, Avl_Tree, Dft_Pair_Cmp< Node *, size_t, Aleph::less< Node * > > >, Aleph::DynSetTree< std::pair< Arc *, size_t >, Avl_Tree, Dft_Pair_Cmp< Arc *, size_t, Aleph::less< Arc * > > >, Aleph::DynSetTree< GT_Node *, Rand_Tree, Aleph::less< GT_Node * > >, Aleph::DynSetTree< int >, Aleph::DynSetTree< GT_Node *, Treap, TestNodeCmp >, Aleph::DynSetTree< Relation_T::Pair, Avl_Tree, Relation_T::Cmp >, Aleph::DynSetTree< std::pair< Event::EventId, TimeoutQueue::Event * >, Avl_Tree, Dft_Pair_Cmp< Event::EventId, TimeoutQueue::Event *, Aleph::less< Event::EventId > > >, Aleph::DynSetTree< TimeoutQueue::Event * >, Aleph::DynSetTree< size_t >, Aleph::DynSkipList< int >, Aleph::FixedQueue< Aleph::DynList< int > >, Aleph::FixedQueue< int >, Aleph::FixedQueue< void * >, Aleph::FixedStack< Node * >, Aleph::FixedStack< Aleph::RbNodeRk * >, Aleph::FixedStack< RbNode * >, Aleph::FixedStack< Aleph::DynList< int > >, Aleph::FixedStack< int >, Aleph::ODhashTable< P, AhHashDispatcher::Equal >, Aleph::ODhashTable< int >, Aleph::OLhashTable< int >, Aleph::Random_Set< int >, Aleph::ArrayHeap< T, Compare >, Aleph::DynArrayHeap< T, Compare >, Aleph::DynBinHeap< T, Compare >, Aleph::DynDlist< T >, Aleph::DynHashTable< Key, HashTable, Cmp >, Aleph::DynList< T >, Aleph::DynSetTree< Key, Tree, Compare >, Aleph::DynSkipList< Key, Compare >, Aleph::ODhashTable< Key, Cmp >, and Aleph::OLhashTable< Key, Cmp >.

Public Types

using iterator = StlIterator< SetName >
 
using const_iterator = StlConstIterator< SetName >
 

Public Member Functions

iterator begin () noexcept
 Return an STL-compatible iterator to the first element.
 
iterator end () noexcept
 Return an STL-compatible end iterator.
 
const_iterator begin () const noexcept
 Return a const iterator to the first element.
 
const_iterator end () const noexcept
 Return a const end iterator.
 
const_iterator cbegin () const noexcept
 Return a const iterator to the first element.
 
const_iterator cend () const noexcept
 Return a const end iterator.
 

Private Member Functions

SetName * me ()
 
const SetName * const_me () const
 

Friends

const_iterator cbegin (const SetName &s) noexcept
 
const_iterator cend (const SetName &s) noexcept
 
const_iterator begin (const SetName &s) noexcept
 
const_iterator end (const SetName &s) noexcept
 
iterator begin (SetName &s) noexcept
 
iterator end (SetName &s) noexcept
 

Detailed Description

template<class SetName>
class StlAlephIterator< SetName >

Mixin that adds STL begin()/end() and cbegin()/cend() to Aleph containers.

Containers inheriting from this class must expose Item_Type and Iterator, where Iterator meets the requirements described in StlIterator.

Template Parameters
SetNameAleph container type.

Definition at line 251 of file ah-iterator.H.

Member Typedef Documentation

◆ const_iterator

template<class SetName >
using StlAlephIterator< SetName >::const_iterator = StlConstIterator<SetName>

Definition at line 261 of file ah-iterator.H.

◆ iterator

template<class SetName >
using StlAlephIterator< SetName >::iterator = StlIterator<SetName>

Definition at line 259 of file ah-iterator.H.

Member Function Documentation

◆ begin() [1/2]

template<class SetName >
const_iterator StlAlephIterator< SetName >::begin ( ) const
inlinenoexcept

Return a const iterator to the first element.

Definition at line 270 of file ah-iterator.H.

References StlConstIterator< SetType >::cbegin(), and StlAlephIterator< SetName >::const_me().

◆ begin() [2/2]

template<class SetName >
iterator StlAlephIterator< SetName >::begin ( )
inlinenoexcept

Return an STL-compatible iterator to the first element.

Definition at line 264 of file ah-iterator.H.

References StlIterator< SetType >::begin(), and StlAlephIterator< SetName >::me().

Referenced by Aleph::Gen_Disjoint_Sparse_Table< T, Op >::Gen_Disjoint_Sparse_Table(), Aleph::Gen_Fenwick_Tree< T, Plus, Minus >::Gen_Fenwick_Tree(), Aleph::Gen_Sparse_Table< T, Op >::Gen_Sparse_Table(), Aleph::HashMap< Key, Data, HashMapTable, Cmp >::HashMap(), Aleph::Matrix< Trow, Tcol, NumType >::Matrix(), Aleph::Range_Fenwick_Tree< T >::Range_Fenwick_Tree(), Aleph::HashMap< Key, Data, HashMapTable, Cmp >::add(), Aleph::DynSkipList< Key, Compare >::all(), Aleph::compute_stats(), demo_kruskal_simulation(), demo_move_semantics(), demo_range_conversions(), demo_vector_dynarray(), Aleph::DynSkipList< Key, Compare >::diff(), example_parallel_filter(), example_parallel_map(), example_performance_comparison(), Aleph::DynSkipList< Key, Compare >::exists(), Aleph::DynSkipList< Key, Compare >::foldl(), Aleph::DynSkipList< Key, Compare >::foldl(), Aleph::DynSkipList< Key, Compare >::for_each(), Aleph::DynSkipList< Key, Compare >::get_it(), Aleph::in_place_multisort_arrays(), Aleph::DynSkipList< Key, Compare >::intersect(), Aleph::is_keyword(), Aleph::ODhashTable< Key, Cmp >::is_valid_bucket(), Aleph::OLhashTable< Key, Cmp >::is_valid_bucket(), Aleph::mode(), Aleph::CmpContainer< Container, T >::operator()(), Aleph::percentile(), Aleph::pfilter(), run_experiment(), Aleph::std_zip(), Aleph::stdsort(), Aleph::stl_compare(), Aleph::stl_equal(), Aleph::stl_zip_to_pairs(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), Aleph::DynSkipList< Key, Compare >::traverse(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), Aleph::tzip_std(), Aleph::uni_compare(), Aleph::uni_equal(), and visual_demonstration().

◆ cbegin()

template<class SetName >
const_iterator StlAlephIterator< SetName >::cbegin ( ) const
inlinenoexcept

Return a const iterator to the first element.

Definition at line 282 of file ah-iterator.H.

References StlConstIterator< SetType >::cbegin(), and StlAlephIterator< SetName >::const_me().

◆ cend()

template<class SetName >
const_iterator StlAlephIterator< SetName >::cend ( ) const
inlinenoexcept

Return a const end iterator.

Definition at line 288 of file ah-iterator.H.

References StlConstIterator< SetType >::cend(), and StlAlephIterator< SetName >::const_me().

◆ const_me()

template<class SetName >
const SetName * StlAlephIterator< SetName >::const_me ( ) const
inlineprivate

◆ end() [1/2]

template<class SetName >
const_iterator StlAlephIterator< SetName >::end ( ) const
inlinenoexcept

Return a const end iterator.

Definition at line 276 of file ah-iterator.H.

References StlConstIterator< SetType >::cend(), and StlAlephIterator< SetName >::const_me().

◆ end() [2/2]

template<class SetName >
iterator StlAlephIterator< SetName >::end ( )
inlinenoexcept

Return an STL-compatible end iterator.

Definition at line 267 of file ah-iterator.H.

References StlIterator< SetType >::end(), and StlAlephIterator< SetName >::me().

Referenced by Aleph::Gen_Fenwick_Tree< T, Plus, Minus >::Gen_Fenwick_Tree(), Aleph::HashMap< Key, Data, HashMapTable, Cmp >::add(), benchmark_comparison(), build_random_graph(), Aleph::compute_stats(), demo_kruskal_simulation(), demo_range_conversions(), demo_vector_dynarray(), example_parallel_filter(), example_parallel_map(), example_performance_comparison(), generate_random_values(), Aleph::in_place_multisort_arrays(), Aleph::is_keyword(), Aleph::ODhashTable< Key, Cmp >::is_valid_bucket(), Aleph::OLhashTable< Key, Cmp >::is_valid_bucket(), main(), Aleph::CmpContainer< Container, T >::operator()(), Aleph::percentile(), Aleph::pfilter(), run_experiment(), Aleph::std_zip(), Aleph::stdsort(), Aleph::stl_compare(), Aleph::stl_equal(), Aleph::stl_zip_to_pairs(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TYPED_TEST(), Aleph::tzip_std(), Aleph::uni_compare(), Aleph::uni_equal(), Aleph::uni_group_by(), Aleph::uni_tally(), and visual_demonstration().

◆ me()

template<class SetName >
SetName * StlAlephIterator< SetName >::me ( )
inlineprivate

Friends And Related Symbol Documentation

◆ begin [1/2]

template<class SetName >
const_iterator begin ( const SetName &  s)
friend

Definition at line 297 of file ah-iterator.H.

◆ begin [2/2]

template<class SetName >
iterator begin ( SetName &  s)
friend

Definition at line 301 of file ah-iterator.H.

◆ cbegin

template<class SetName >
const_iterator cbegin ( const SetName &  s)
friend

Definition at line 293 of file ah-iterator.H.

◆ cend

template<class SetName >
const_iterator cend ( const SetName &  s)
friend

Definition at line 295 of file ah-iterator.H.

◆ end [1/2]

template<class SetName >
const_iterator end ( const SetName &  s)
friend

Definition at line 299 of file ah-iterator.H.

◆ end [2/2]

template<class SetName >
iterator end ( SetName &  s)
friend

Definition at line 303 of file ah-iterator.H.


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