|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Fixed length stack. More...
#include <tpl_arrayStack.H>
Classes | |
| class | Iterator |
| Iterator on the items of a stack. More... | |
Public Types | |
| using | Item_Type = T |
Public Types inherited from StlAlephIterator< FixedStack< T > > | |
| using | iterator = StlIterator< FixedStack< T > > |
| using | const_iterator = StlConstIterator< FixedStack< T > > |
Public Member Functions | |
| FixedStack (size_t d=1024) | |
| The type of element. | |
| ~FixedStack () | |
| FixedStack (const FixedStack &s) | |
| Copy constructor. | |
| template<template< typename > class List> | |
| FixedStack (const List< T > &l) | |
| template<class It > | |
| FixedStack (It b, It e) | |
| FixedStack (std::initializer_list< T > l) | |
| void | swap (FixedStack &s) noexcept |
Swap in constant time s with this | |
| FixedStack (FixedStack &&s) noexcept | |
| Move constructor. | |
| FixedStack & | operator= (const FixedStack &s) |
Assign by copy s to this | |
| FixedStack & | operator= (FixedStack &&s) noexcept |
| T & | push (const T &data) noexcept |
Push a copy of data | |
| T & | push (T &&data) noexcept |
Push and move data | |
| T & | append (const T &data) noexcept |
| T & | append (T &&data) noexcept |
| T & | insert (const T &data) noexcept |
| T & | insert (T &&data) noexcept |
| T & | pushn (const size_t &n=1) noexcept |
Push in contant time nspaces into stack. | |
| T | pop () noexcept |
| Pop by moving the top of stack. | |
| T | popn (const int &n) noexcept |
Perform in constant time n pops. | |
| T & | top () const noexcept |
| Return a modifiable referemce to stack's top. | |
| T & | get_last () const noexcept |
| T & | base () const noexcept |
| Return the internal array base. | |
| T & | top (size_t i) const noexcept |
Return a modifiable referecce to item located i positions after top. | |
| bool | is_empty () const noexcept |
Return true if stack is empty. | |
| void | empty () noexcept |
| Empty the stack. | |
| size_t | size () const noexcept |
| Return the number of elements stored in the stack. | |
| template<class Operation > | |
| bool | traverse (Operation &operation) |
| Traverse all the items of stack from the youngest to oldest and conditionally performs an operation. | |
| template<class Operation > | |
| bool | traverse (Operation &operation) const |
| template<class Operation > | |
| bool | traverse (Operation &&operation=Operation()) const |
| template<class Operation > | |
| bool | traverse (Operation &&operation=Operation()) |
Public Member Functions inherited from LocateFunctions< FixedStack< T >, T > | |
| auto | get_it () const |
| Return a properly initialized iterator positioned at the first item on the container. | |
| auto | get_it (const size_t pos) const |
Return a properly initialized iterator positioned at the pos item on the container. | |
| auto | get_itor () const |
Alias of get_it(). | |
| T & | nth_ne (const size_t n) noexcept |
| Return the n‑th element without bounds checking. | |
| const T & | nth_ne (const size_t n) const noexcept |
Const overload of nth_ne(size_t). | |
| T & | nth (const size_t n) |
| Return the n-th item of container. | |
| const T & | nth (const size_t n) const |
Const overload of nth(size_t). | |
| T * | find_ptr (Operation &operation) noexcept(operation_is_noexcept< Operation >()) |
| Find a pointer to an item in the container according to a searching criteria. | |
| const T * | find_ptr (Operation &operation) const noexcept(operation_is_noexcept< Operation >()) |
Const overload of find_ptr(Operation&). | |
| const T * | find_ptr (Operation &&operation) const noexcept(operation_is_noexcept< Operation >()) |
Overload of find_ptr(Operation&) const that accepts rvalues. | |
| T * | find_ptr (Operation &&operation) noexcept(operation_is_noexcept< Operation >()) |
Overload of find_ptr(Operation&) that accepts rvalues. | |
| size_t | find_index (Operation &operation) const noexcept(operation_is_noexcept< Operation >()) |
| Find the position of an item in the container according to a searching criteria. | |
| size_t | find_index (Operation &&operation) const noexcept(operation_is_noexcept< Operation >()) |
Overload of find_index(Operation&) that accepts rvalues. | |
| std::tuple< bool, T > | find_item (Operation &operation) noexcept(operation_is_noexcept< Operation >()) |
| Safe sequential searching of an item matching a criteria. | |
| std::tuple< bool, T > | find_item (Operation &operation) const noexcept(operation_is_noexcept< Operation >()) |
| std::tuple< bool, T > | find_item (Operation &&operation) noexcept(operation_is_noexcept< Operation >()) |
| std::tuple< bool, T > | find_item (Operation &&operation) const noexcept(operation_is_noexcept< Operation >()) |
Public Member Functions inherited from FunctionalMethods< FixedStack< T >, T > | |
| void | emplace (Args &&... args) |
| Appends a new element into the container by constructing it in-place with the given args. | |
| void | emplace_end (Args &&... args) |
| void | emplace_ins (Args &&... args) |
| Insert a new element into the container by constructing it in-place with the given args. | |
| size_t | ninsert (Args ... args) |
| Insert n variadic items. | |
| size_t | nappend (Args ... args) |
| Append n variadic items. | |
| void | for_each (Operation &operation) |
| Traverse all the container and performs an operation on each element. | |
| void | for_each (Operation &operation) const |
Const overload of for_each(Operation&). | |
| void | for_each (Operation &&operation) const |
Overload of for_each(Operation&) const that accepts rvalues. | |
| void | for_each (Operation &&operation) |
Overload of for_each(Operation&) that accepts rvalues. | |
| void | each (Operation &operation) |
Alias of for_each(Operation&). | |
| void | each (Operation &operation) const |
Const alias of for_each(Operation&). | |
| void | each (Operation &&operation) const |
Const alias of for_each(Operation&) that accepts rvalues. | |
| void | each (Operation &&operation) |
Alias of for_each(Operation&) that accepts rvalues. | |
| void | each (size_t pos, const size_t slice, Operation &operation) const |
Traverse the container starting at pos taking one item every slice, performing a mutable operation on each visited element. | |
| void | each (const size_t pos, const size_t slice, Operation &&operation) const |
| void | mutable_for_each (Operation &operation) |
| void | mutable_for_each (Operation &&operation) |
| bool | all (Operation &operation) const |
| Check if all the elements of container satisfy a condition. | |
| bool | all (Operation &&operation) const |
Overload of all(Operation&) that accepts rvalues. | |
| bool | exists (Operation &op) const |
| Test for existence in the container of an element satisfying a criteria. | |
| bool | exists (Operation &&op) const |
Overload of exists(Operation&) that accepts rvalues. | |
| Aleph::DynList< __T > | maps (Operation &op) const |
| Map the elements of the container. | |
| Aleph::DynList< __T > | maps (Operation &&op) const |
Overload of maps(Operation&) that accepts rvalues. | |
| Aleph::DynList< __T > | maps_if (Prop prop, Operation &op) const |
| Conditional mapping of the elements of the container. | |
| Aleph::DynList< __T > | maps_if (Prop prop, Operation &&op) const |
Overload of maps_if(Prop, Operation&) that accepts rvalues. | |
| Aleph::DynList< T > | to_dynlist () const |
| Convert container to DynList. | |
| std::vector< T > | to_vector () const |
| Convert container to std::vector. | |
| __T | foldl (const __T &init, Op &op) const |
| Fold the elements of the container to a specific result. | |
| __T | foldl (const __T &init, Op &&op=Op()) const |
Overload of foldl(const __T&, Op&) that accepts rvalues. | |
| __T | fold_left (const __T &init, Op &op) const |
| Alias for foldl with the same accumulator type. | |
| __T | fold_left (const __T &init, Op &&op=Op()) const |
Overload of fold_left(const __T&, Op&) that accepts rvalues. | |
| T | fold (const T &init, Operation &operation) const |
| Simplified version of foldl() where the folded type is the same type of elements stored in the container. | |
| T | fold (const T &init, Operation &&operation) const |
Overload of fold(const T&, Operation&) that accepts rvalues. | |
| Aleph::DynList< T > | filter (Operation &operation) const |
| Filter the elements of a container according to a matching criteria. | |
| Aleph::DynList< T > | filter (Operation &&operation) const |
Overload of filter(Operation&) that accepts rvalues. | |
| Aleph::DynList< const T * > | ptr_filter (Operation &operation) const |
| Filter the elements of a container according to a matching criteria and return a pointer to the matched items in the container. | |
| Aleph::DynList< const T * > | ptr_filter (Operation &&operation) const |
Overload of ptr_filter(Operation&) that accepts rvalues. | |
| Aleph::DynList< std::tuple< T, size_t > > | pfilter (Operation &operation) const |
| Filter the elements of a container according to a matching criteria and determine its positions respect to the traversal of container. | |
| Aleph::DynList< std::tuple< T, size_t > > | pfilter (Operation &&operation) const |
Overload of pfilter(Operation&) that accepts rvalues. | |
| std::pair< Aleph::DynList< T >, Aleph::DynList< T > > | partition (Operation &op) const |
| Exclusive partition of container according to a filter criteria. | |
| std::pair< Aleph::DynList< T >, Aleph::DynList< T > > | partition (Operation &&op) const |
Overload of partition(Operation&) that accepts rvalues. | |
| std::pair< Aleph::DynList< T >, Aleph::DynList< T > > | partition (size_t n) const |
| Exclusive partition of container in the nth item. | |
| std::pair< Aleph::DynList< T >, Aleph::DynList< T > > | split_half () const |
| Split the container into two halves by alternating elements. | |
| std::tuple< Aleph::DynList< T >, Aleph::DynList< T > > | tpartition (Operation &op) const |
| Exclusive partition of container according to a filter criteria. | |
| std::tuple< Aleph::DynList< T >, Aleph::DynList< T > > | tpartition (Operation &&op) const |
Overload of tpartition(Operation&) that accepts rvalues. | |
| size_t | length () const noexcept |
| Count the number of elements of a container. | |
| Aleph::DynList< T > | rev () const |
| Return a list with the elements of container in reverse order respect to its traversal order. | |
| Aleph::DynList< T > | take (const size_t n) const |
| Return a list with the first n elements seen in the container during its traversal. | |
| Aleph::DynList< T > | take (size_t i, const size_t j, const size_t step=1) const |
| Return a list with elements seen in the container between i and j position respect to its traversal. | |
| Aleph::DynList< T > | drop (const size_t n) const |
| Drop the first n elements seen in the container during its traversal. | |
| void | mutable_drop (const size_t n) |
| Drop the first n elements seen from container. | |
Public Member Functions inherited from GenericItems< Container, T > | |
| Aleph::DynList< T > | items () const |
| Return a list of all the elements of a container sorted by traversal order. | |
| Aleph::DynList< T > | keys () const |
Public Member Functions inherited from EqualToMethod< FixedStack< T > > | |
| bool | equal_to (const FixedStack< T > &r) const noexcept |
Test if elements of this are exactly contained in another container. | |
| bool | operator== (const FixedStack< T > &r) const noexcept |
| bool | operator!= (const FixedStack< T > &r) const noexcept |
| Negation of equal_to() | |
Public Member Functions inherited from StlAlephIterator< FixedStack< T > > | |
| iterator | begin () noexcept |
| Return an STL-compatible iterator to the first element. | |
| const_iterator | begin () const noexcept |
| Return a const iterator to the first element. | |
| iterator | end () noexcept |
| Return an STL-compatible end iterator. | |
| 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 Attributes | |
| T * | array = nullptr |
| size_t | head = 0 |
| size_t | dim = 0 |
Additional Inherited Members | |
Related Symbols inherited from FunctionalMethods< FixedStack< T >, T > | |
| each | |
| each | |
| each | |
Fixed length stack.
FixedStack<T> models a stack with a maximum capacity. In addition, no operation performs checks, what gives to all operations the more highest performance.
Definition at line 314 of file tpl_arrayStack.H.
Definition at line 326 of file tpl_arrayStack.H.
|
inline |
The type of element.
Construct a fixed stack of maximum d items
Definition at line 329 of file tpl_arrayStack.H.
|
inline |
Definition at line 337 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array.
|
inline |
Copy constructor.
Definition at line 344 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array, and Aleph::FixedStack< T >::head.
|
inline |
Definition at line 351 of file tpl_arrayStack.H.
Definition at line 351 of file tpl_arrayStack.H.
|
inline |
Definition at line 351 of file tpl_arrayStack.H.
|
inlinenoexcept |
Move constructor.
Definition at line 362 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::swap().
Definition at line 417 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::push().
Definition at line 420 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::push().
|
inlinenoexcept |
Return the internal array base.
Definition at line 473 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array.
Referenced by Aleph::Cnode::extract_word_from_stack().
|
inlinenoexcept |
Empty the stack.
Definition at line 492 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::head.
Referenced by Aleph::GenBinHeap< NodeType, Key, Compare >::Iterator::end(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::fix_red_condition(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::fix_red_condition(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::insert(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::insert(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::remove(), Aleph::HtdRbTree< Key, Compare >::remove(), Aleph::HtdRbTreeRk< Key, Compare >::remove(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::remove(), Aleph::HtdRbTree< Key, Compare >::removeAndFixBlackCondition(), Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition(), Aleph::GenBinHeap< NodeType, Key, Compare >::Iterator::reset_first(), Aleph::GenBinHeap< NodeType, Key, Compare >::Iterator::reset_last(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::search_or_insert(), and Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::search_or_insert().
|
inlinenoexcept |
Definition at line 470 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::top().
Definition at line 423 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::push().
Definition at line 426 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::push().
|
inlinenoexcept |
Return true if stack is empty.
Definition at line 489 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::head.
Referenced by Node_Pool< Node >::~Node_Pool(), Node_Pool< Node >::allocate(), Aleph::HtdRbTree< Key, Compare >::balanceDownAndColor(), Aleph::HtdRbTreeRk< Key, Compare >::balanceDownAndColor(), Aleph::HtdRbTree< Key, Compare >::doubleRotateNephewAndColor(), Aleph::HtdRbTreeRk< Key, Compare >::doubleRotateNephewAndColor(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::extract_max(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::extract_min(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::join_exclusive(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::join_exclusive(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::join_left(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::join_right(), Aleph::GenBinHeap< NodeType, Key, Compare >::Iterator::next_ne(), Aleph::quicksort(), Aleph::quicksort_op(), Aleph::HtdRbTree< Key, Compare >::rotateNephewAndColor(), Aleph::HtdRbTreeRk< Key, Compare >::rotateNephewAndColor(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::split_key(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::split_key(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::split_key_dup(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::split_key_dup(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::split_pos(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::split_pos(), and TEST().
|
inline |
Assign by copy s to this
Definition at line 369 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array, Aleph::FixedStack< T >::dim, and Aleph::FixedStack< T >::head.
|
inlinenoexcept |
Definition at line 386 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::swap().
|
inlinenoexcept |
Pop by moving the top of stack.
Definition at line 442 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array, Aleph::FixedStack< T >::head, and FunctionalMethods< FixedStack< T >, T >::maps().
Referenced by Node_Pool< Node >::~Node_Pool(), Node_Pool< Node >::allocate(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::extract_max(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::extract_min(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::fix_black_condition(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::fix_black_condition(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::fix_red_condition(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::fix_red_condition(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::join_exclusive(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::join_exclusive(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::join_left(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::join_right(), Aleph::GenBinHeap< NodeType, Key, Compare >::Iterator::next_ne(), Aleph::quicksort(), Aleph::quicksort(), Aleph::quicksort_op(), Aleph::HtdRbTree< Key, Compare >::removeAndFixBlackCondition(), Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::restore_avl_after_deletion(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::restore_avl_after_deletion(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::restore_avl_after_insertion(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::restore_avl_after_insertion(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::split_key(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::split_key(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::split_key_dup(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::split_key_dup(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::split_pos(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::split_pos(), and Aleph::Cnode::words_impl().
Perform in constant time n pops.
| [in] | n | number of items to opo |
Definition at line 454 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array, Aleph::FixedStack< T >::head, and FunctionalMethods< FixedStack< T >, T >::maps().
Referenced by Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::clean_avl_stack(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::clean_avl_stack(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::fix_black_condition(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::fix_black_condition(), Aleph::HtdRbTree< Key, Compare >::removeAndFixBlackCondition(), Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::restore_avl_after_deletion(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::restore_avl_after_deletion(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::search_and_stack_avl(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::search_and_stack_avl(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::search_and_stack_rb(), and Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::search_and_stack_rb().
Push a copy of data
| [in] | data |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 397 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array, Aleph::FixedStack< T >::dim, Aleph::FixedStack< T >::head, and FunctionalMethods< FixedStack< T >, T >::maps().
Referenced by Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::Gen_Avl_Tree(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::Gen_Avl_Tree_Rk(), Aleph::FixedStack< T >::append(), Aleph::FixedStack< T >::append(), Node_Pool< Node >::deallocate(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::extract_max(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::extract_min(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::find_succ_and_swap(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::find_succ_and_swap(), Aleph::HtdRbTree< Key, Compare >::findSuccAndSwap(), Aleph::HtdRbTreeRk< Key, Compare >::findSuccAndSwap(), Aleph::FixedStack< T >::insert(), Aleph::FixedStack< T >::insert(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::join_exclusive(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::join_exclusive(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::join_left(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::join_right(), Aleph::GenBinHeap< NodeType, Key, Compare >::Iterator::next_ne(), Aleph::quicksort(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::search_and_stack_avl(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::search_and_stack_avl(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::search_and_stack_rb(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::search_and_stack_rb(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::search_dup_and_stack_avl(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::search_dup_and_stack_avl(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::search_dup_and_stack_rb(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::search_dup_and_stack_rb(), Aleph::HtdRbTree< Key, Compare >::searchAndBuildPath(), Aleph::HtdRbTreeRk< Key, Compare >::searchAndBuildPath(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::split_key(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::split_key(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::split_key_dup(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::split_key_dup(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::split_pos(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::split_pos(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::swapWithSuccessor(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::swapWithSuccessor(), Aleph::Cnode::words_impl(), and Aleph::Cnode::words_with_prefix().
|
inlinenoexcept |
Push and move data
| [in] | data | to be moved |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 409 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array, Aleph::FixedStack< T >::dim, Aleph::FixedStack< T >::head, and FunctionalMethods< FixedStack< T >, T >::maps().
Push in contant time nspaces into stack.
| [in] | n | number of cells to push |
Definition at line 433 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array, Aleph::FixedStack< T >::dim, Aleph::FixedStack< T >::head, and FunctionalMethods< FixedStack< T >, T >::maps().
|
inlinenoexcept |
Return the number of elements stored in the stack.
Definition at line 495 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::head.
Referenced by Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::clean_avl_stack(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::clean_avl_stack(), Node_Pool< Node >::deallocate(), Aleph::Cnode::extract_word_from_stack(), Aleph::HtdRbTree< Key, Compare >::findSuccAndSwap(), Aleph::quicksort(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::search_and_stack_avl(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::search_and_stack_avl(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::search_and_stack_rb(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::search_and_stack_rb(), Aleph::HtdRbTree< Key, Compare >::searchAndBuildPath(), TEST(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::update_counters_after_deletion(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::update_counters_after_deletion(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::update_counters_after_insertion(), and Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::update_counters_after_insertion().
|
inlinenoexcept |
Swap in constant time s with this
Definition at line 354 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array, Aleph::FixedStack< T >::dim, and Aleph::FixedStack< T >::head.
Referenced by Aleph::FixedStack< T >::FixedStack(), and Aleph::FixedStack< T >::operator=().
|
inlinenoexcept |
Return a modifiable referemce to stack's top.
Definition at line 463 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array, Aleph::FixedStack< T >::head, and FunctionalMethods< FixedStack< T >, T >::maps().
Referenced by Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::avl_stack_empty(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::avl_stack_empty(), Aleph::HtdRbTree< Key, Compare >::balanceDownAndColor(), Aleph::HtdRbTreeRk< Key, Compare >::balanceDownAndColor(), Aleph::HtdRbTree< Key, Compare >::doubleRotateNephewAndColor(), Aleph::HtdRbTreeRk< Key, Compare >::doubleRotateNephewAndColor(), Aleph::Cnode::extract_word_from_stack(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::find_succ_and_swap(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::find_succ_and_swap(), Aleph::HtdRbTree< Key, Compare >::findSuccAndSwap(), Aleph::HtdRbTreeRk< Key, Compare >::findSuccAndSwap(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::fix_black_condition(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::fix_black_condition(), Aleph::FixedStack< T >::get_last(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::remove(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::remove(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::remove(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::remove(), Aleph::HtdRbTree< Key, Compare >::removeAndFixBlackCondition(), Aleph::HtdRbTreeRk< Key, Compare >::removeAndFixBlackCondition(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::restore_avl_after_deletion(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::restore_avl_after_deletion(), Aleph::HtdRbTree< Key, Compare >::rotateNephewAndColor(), Aleph::HtdRbTreeRk< Key, Compare >::rotateNephewAndColor(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::search_and_stack_avl(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::search_and_stack_avl(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::search_and_stack_rb(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::search_and_stack_rb(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::search_dup_and_stack_avl(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::search_dup_and_stack_avl(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::search_dup_and_stack_rb(), Aleph::Gen_Rb_Tree< NodeType, Key, Compare >::search_dup_and_stack_rb(), Aleph::Gen_Avl_Tree< NodeType, Key, Compare >::swapWithSuccessor(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::swapWithSuccessor(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::update_counters_after_deletion(), Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::update_counters_after_deletion(), Aleph::Gen_Avl_Tree_Rk< NodeType, Key, Compare >::update_counters_after_insertion(), and Aleph::Gen_Rb_Tree_Rk< NodeType, Key, Compare >::update_counters_after_insertion().
Return a modifiable referecce to item located i positions after top.
| [in] | i | number of positions. |
i positions after top. Definition at line 482 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array, Aleph::FixedStack< T >::head, and FunctionalMethods< FixedStack< T >, T >::maps().
|
inline |
Definition at line 530 of file tpl_arrayStack.H.
References FunctionalMethods< FixedStack< T >, T >::maps().
|
inline |
Definition at line 523 of file tpl_arrayStack.H.
References FunctionalMethods< FixedStack< T >, T >::maps().
|
inline |
Traverse all the items of stack from the youngest to oldest and conditionally performs an operation.
| [in] | operation | to perform on the current element. If it returns true, the the traversal continues to the next item; otherwise the traversal stops |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 505 of file tpl_arrayStack.H.
References Aleph::FixedStack< T >::array, Aleph::FixedStack< T >::head, and FunctionalMethods< FixedStack< T >, T >::maps().
Referenced by Aleph::FixedStack< T >::traverse().
|
inline |
Definition at line 516 of file tpl_arrayStack.H.
References FunctionalMethods< FixedStack< T >, T >::maps(), and Aleph::FixedStack< T >::traverse().
Definition at line 320 of file tpl_arrayStack.H.
Referenced by Aleph::FixedStack< T >::FixedStack(), Aleph::FixedStack< T >::~FixedStack(), Aleph::FixedStack< T >::base(), Aleph::FixedStack< T >::operator=(), Aleph::FixedStack< T >::pop(), Aleph::FixedStack< T >::popn(), Aleph::FixedStack< T >::push(), Aleph::FixedStack< T >::push(), Aleph::FixedStack< T >::pushn(), Aleph::FixedStack< T >::swap(), Aleph::FixedStack< T >::top(), Aleph::FixedStack< T >::top(), and Aleph::FixedStack< T >::traverse().
|
private |
Definition at line 322 of file tpl_arrayStack.H.
Referenced by Aleph::FixedStack< T >::operator=(), Aleph::FixedStack< T >::push(), Aleph::FixedStack< T >::push(), Aleph::FixedStack< T >::pushn(), and Aleph::FixedStack< T >::swap().
|
private |
Definition at line 321 of file tpl_arrayStack.H.
Referenced by Aleph::FixedStack< T >::FixedStack(), Aleph::FixedStack< T >::empty(), Aleph::FixedStack< T >::is_empty(), Aleph::FixedStack< T >::operator=(), Aleph::FixedStack< T >::pop(), Aleph::FixedStack< T >::popn(), Aleph::FixedStack< T >::push(), Aleph::FixedStack< T >::push(), Aleph::FixedStack< T >::pushn(), Aleph::FixedStack< T >::size(), Aleph::FixedStack< T >::swap(), Aleph::FixedStack< T >::top(), Aleph::FixedStack< T >::top(), and Aleph::FixedStack< T >::traverse().