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

Dynamic singly linked list with functional programming support. More...

#include <htlist.H>

Inheritance diagram for Aleph::DynList< T >:
[legend]
Collaboration diagram for Aleph::DynList< T >:
[legend]

Classes

class  Iterator
 Iterator on the items of list. More...
 

Public Types

using Item_Type = T
 The type of item.
 
using Key_Type = T
 The type of item.
 
- Public Types inherited from StlAlephIterator< SetName >
using iterator = StlIterator< SetName >
 
using const_iterator = StlConstIterator< SetName >
 

Public Member Functions

Slinkncget_head () const noexcept=delete
 
Slinkncget_tail () const noexcept=delete
 
DynListswap (DynList &l) noexcept
 Swap this with l.
 
 DynList ()
 Initialize an empty list.
 
 DynList (const DynList &l)
 Initialize a list with a copy of all the items of list l
 
Tinsert (const T &item)
 Insert a new item by copy.
 
Tinsert (T &&item)
 Insert a new item by movement.
 
Tpush (const T &item)
 
Tpush (T &&item)
 
Tput (const T &item)
 
Tput (T &&item)
 
Tappend (const T &item)
 Append a new item by copy.
 
Tappend (T &&item)
 Append a new item by movement.
 
T remove_ne () noexcept
 Remove the first item of the list without exception.
 
T remove ()
 Remove the first item of the list.
 
T remove_first_ne () noexcept
 
T remove_first ()
 
T pop ()
 
T get ()
 
Tget_last_ne () const noexcept
 Return the last item of the list without exception.
 
Tget_first_ne () const noexcept
 Return the first item of the list without exception.
 
Tget_last () const
 Return the last item of the list.
 
Tget_first () const
 Return the first item of the list.
 
Ttop () const
 
void empty () noexcept
 empty the list
 
 ~DynList ()
 
DynListreverse () noexcept
 
DynListrev () noexcept
 
DynList reverse () const
 Return a reversed copy of this.
 
DynList rev () const
 
template<class Equal = std::equal_to<T>>
T remove_ne (Equal eq) noexcept
 
template<class Equal = std::equal_to<T>>
T remove (Equal eq)
 Remove the first element matching an equality criteria.
 
 DynList (DynList &&l) noexcept
 Initialize the list with all the items of l moved to this.
 
DynListoperator= (const DynList &l)
 Assign to this a copy of l
 
DynListoperator= (DynList &&l) noexcept
 Assign to this by movement the list l
 
DynListappend (DynList &&list) noexcept
 Append listat the end of this by movement.
 
DynListinsert (DynList &&list) noexcept
 Insert listat the beginning of this by movement.
 
DynListappend (const DynList &list)
 Append to this a copy of list.
 
DynListinsert (const DynList &list)
 Insert to this a copy of list.
 
Tget (const size_t i)
 Obtains a modifiable reference to the i-th item of this.
 
Toperator[] (const size_t &i)
 Array-style access to the i-th item. Equivalent to get(i).
 
- Public Member Functions inherited from Aleph::HTList
 HTList () noexcept
 Initialize an empty list.
 
void reset () noexcept
 
constexpr bool is_empty () const noexcept
 Return true if list is empty.
 
bool is_unitarian () const noexcept
 Return true if the list contains exactly just one element.
 
bool is_unitarian_or_empty () const noexcept
 Return true if list contains one element or is empty.
 
Slinkncget_head () const noexcept
 Return list head (first element)
 
Slinkncget_tail () const noexcept
 Return list tail (last element)
 
Slinkncget_first () const noexcept
 Return list first element.
 
Slinkncget_last () const noexcept
 Return the last item of the list (nullptr if the list is empty)
 
HTListswap (HTList &l) noexcept
 Exchange 'this' values with another list.
 
void insert (Slinknc *link) noexcept
 Insert link as first element.
 
void append (Slinknc *link) noexcept
 Insert link as last element.
 
void append (HTList &l) noexcept
 Join 'this' with 'l' through list end.
 
void put (Slinknc *link) noexcept
 Insert link as last element.
 
void concat (HTList &l) noexcept
 Concat to 'this' all 'l' list; 'l' becomes empty.
 
void concat_list (HTList &l) noexcept
 
void insert (HTList &l) noexcept
 Insert starting in link (contained in 'this' list) the 'list' list.
 
void insert (Slinknc *link, HTList &list) noexcept
 Insert a list into this after one of its items.
 
Slinkncremove_head_ne () noexcept
 It deletes head element (first one).
 
Slinkncremove_head ()
 
Slinkncremove_first_ne () noexcept
 
Slinkncremove_first ()
 
bool remove (Slinknc *link)
 Remove from the list the item pointed by link
 
void push (Slinknc *link) noexcept
 Insert link as first element.
 
Slinkncpop ()
 
Slinknctop () const
 
size_t split_list (HTList &l, HTList &r) noexcept
 It divides 'this' into two equal lists without modifying elements order.
 
size_t split_list_ne (HTList &l, HTList &r) noexcept
 
size_t split (HTList &l, HTList &r) noexcept
 
size_t reverse () noexcept
 It inverts all list elements.
 
size_t reverse_list () noexcept
 
void cut (Slinknc *link, HTList &list) noexcept
 It cuts 'this' over 'link' element and it puts all remaining elements.
 
void cut_list (Slinknc *link, HTList &list) noexcept
 
void remove_all_and_delete () noexcept
 Remove and free memory for all the items of list.
 
size_t size () const noexcept
 Count the number of elements of the list.
 
void rotate_left (size_t n)
 Rotate to left the list n positions.
 
- Public Member Functions inherited from GenericTraverse< Container >
template<class Operation >
bool traverse (Operation &operation) noexcept(traverse_is_noexcept< Operation >())
 Traverse the container via its iterator and performs a conditioned operation on each item.
 
template<class Operation >
bool traverse (Operation &operation) const noexcept(traverse_is_noexcept< Operation >())
 Const overload of traverse(Operation&).
 
template<class Operation >
bool traverse (Operation &&operation) const noexcept(traverse_is_noexcept< Operation >())
 Overload of traverse(Operation&) const that accepts rvalues.
 
template<class Operation >
bool traverse (Operation &&operation) noexcept(traverse_is_noexcept< Operation >())
 Overload of traverse(Operation&) that accepts rvalues.
 
- Public Member Functions inherited from LocateFunctions< Container, Type >
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().
 
Type & nth_ne (const size_t n) noexcept
 Return the n‑th element without bounds checking.
 
const Type & nth_ne (const size_t n) const noexcept
 Const overload of nth_ne(size_t).
 
Type & nth (const size_t n)
 Return the n-th item of container.
 
const Type & nth (const size_t n) const
 Const overload of nth(size_t).
 
template<class Operation >
Type * find_ptr (Operation &operation) noexcept(operation_is_noexcept< Operation >())
 Find a pointer to an item in the container according to a searching criteria.
 
template<class Operation >
const Type * find_ptr (Operation &operation) const noexcept(operation_is_noexcept< Operation >())
 Const overload of find_ptr(Operation&).
 
template<class Operation >
const Type * find_ptr (Operation &&operation) const noexcept(operation_is_noexcept< Operation >())
 Overload of find_ptr(Operation&) const that accepts rvalues.
 
template<class Operation >
Type * find_ptr (Operation &&operation) noexcept(operation_is_noexcept< Operation >())
 Overload of find_ptr(Operation&) that accepts rvalues.
 
template<class Operation >
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.
 
template<class Operation >
size_t find_index (Operation &&operation) const noexcept(operation_is_noexcept< Operation >())
 Overload of find_index(Operation&) that accepts rvalues.
 
template<class Operation >
std::tuple< bool, Type > find_item (Operation &operation) noexcept(operation_is_noexcept< Operation >())
 Safe sequential searching of an item matching a criteria.
 
template<class Operation >
std::tuple< bool, Type > find_item (Operation &operation) const noexcept(operation_is_noexcept< Operation >())
 
template<class Operation >
std::tuple< bool, Type > find_item (Operation &&operation) noexcept(operation_is_noexcept< Operation >())
 
template<class Operation >
std::tuple< bool, Type > find_item (Operation &&operation) const noexcept(operation_is_noexcept< Operation >())
 
- Public Member Functions inherited from SpecialCtors< Container, T >
 SpecialCtors ()=default
 
 SpecialCtors (const SpecialCtors &)=default
 
 SpecialCtors (SpecialCtors &&) noexcept
 
SpecialCtorsoperator= (const SpecialCtors &)
 
SpecialCtorsoperator= (SpecialCtors &&) noexcept
 
 SpecialCtors (const Aleph::DynList< T > &l)
 Build the container by inserting all items of list l.
 
template<class It >
 SpecialCtors (It b, It e)
 Construct the container from a range of iterators.
 
 SpecialCtors (std::initializer_list< T > l)
 Construct the container from an initializer list.
 
- Public Member Functions inherited from FunctionalMethods< Container, T >
template<typename ... Args>
void emplace (Args &&... args)
 Appends a new element into the container by constructing it in-place with the given args.
 
template<typename ... Args>
void emplace_end (Args &&... args)
 
template<typename ... Args>
void emplace_ins (Args &&... args)
 Insert a new element into the container by constructing it in-place with the given args.
 
template<typename ... Args>
size_t ninsert (Args ... args)
 Insert n variadic items.
 
template<typename ... Args>
size_t nappend (Args ... args)
 Append n variadic items.
 
template<class Operation >
void for_each (Operation &operation)
 Traverse all the container and performs an operation on each element.
 
template<class Operation >
void for_each (Operation &operation) const
 Const overload of for_each(Operation&).
 
template<class Operation >
void for_each (Operation &&operation) const
 Overload of for_each(Operation&) const that accepts rvalues.
 
template<class Operation >
void for_each (Operation &&operation)
 Overload of for_each(Operation&) that accepts rvalues.
 
template<class Operation >
void each (Operation &operation)
 Alias of for_each(Operation&).
 
template<class Operation >
void each (Operation &operation) const
 Const alias of for_each(Operation&).
 
template<class Operation >
void each (Operation &&operation) const
 Const alias of for_each(Operation&) that accepts rvalues.
 
template<class Operation >
void each (Operation &&operation)
 Alias of for_each(Operation&) that accepts rvalues.
 
template<class Operation >
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.
 
template<class Operation >
void each (const size_t pos, const size_t slice, Operation &&operation) const
 
template<class Operation >
void mutable_for_each (Operation &operation)
 
template<class Operation >
void mutable_for_each (Operation &&operation)
 
template<class Operation >
bool all (Operation &operation) const
 Check if all the elements of container satisfy a condition.
 
template<class Operation >
bool all (Operation &&operation) const
 Overload of all(Operation&) that accepts rvalues.
 
template<class Operation >
bool exists (Operation &op) const
 Test for existence in the container of an element satisfying a criteria.
 
template<class Operation >
bool exists (Operation &&op) const
 Overload of exists(Operation&) that accepts rvalues.
 
template<typename __T = T, class Operation = Aleph::Dft_Map_Op<T, __T>>
Aleph::DynList< __T > maps (Operation &op) const
 Map the elements of the container.
 
template<typename __T = T, class Operation = Aleph::Dft_Map_Op<__T, __T>>
Aleph::DynList< __T > maps (Operation &&op) const
 Overload of maps(Operation&) that accepts rvalues.
 
template<typename __T = T, class Prop , class Operation >
Aleph::DynList< __Tmaps_if (Prop prop, Operation &op) const
 Conditional mapping of the elements of the container.
 
template<typename __T = T, class Prop , class Operation >
Aleph::DynList< __Tmaps_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.
 
template<typename __T = T, class Op = Aleph::Dft_Fold_Op<__T, T>>
__T foldl (const __T &init, Op &op) const
 Fold the elements of the container to a specific result.
 
template<typename __T = T, class Op = Aleph::Dft_Fold_Op<__T, T>>
__T foldl (const __T &init, Op &&op=Op()) const
 Overload of foldl(const __T&, Op&) that accepts rvalues.
 
template<typename __T = T, class Op = Aleph::Dft_Fold_Op<__T, T>>
__T fold_left (const __T &init, Op &op) const
 Alias for foldl with the same accumulator type.
 
template<typename __T = T, class Op = Aleph::Dft_Fold_Op<__T, T>>
__T fold_left (const __T &init, Op &&op=Op()) const
 Overload of fold_left(const __T&, Op&) that accepts rvalues.
 
template<class Operation >
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.
 
template<class Operation >
fold (const T &init, Operation &&operation) const
 Overload of fold(const T&, Operation&) that accepts rvalues.
 
template<class Operation >
Aleph::DynList< T > filter (Operation &operation) const
 Filter the elements of a container according to a matching criteria.
 
template<class Operation >
Aleph::DynList< T > filter (Operation &&operation) const
 Overload of filter(Operation&) that accepts rvalues.
 
template<class Operation >
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.
 
template<class Operation >
Aleph::DynList< const T * > ptr_filter (Operation &&operation) const
 Overload of ptr_filter(Operation&) that accepts rvalues.
 
template<class Operation >
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.
 
template<class Operation >
Aleph::DynList< std::tuple< T, size_t > > pfilter (Operation &&operation) const
 Overload of pfilter(Operation&) that accepts rvalues.
 
template<class Operation >
std::pair< Aleph::DynList< T >, Aleph::DynList< T > > partition (Operation &op) const
 Exclusive partition of container according to a filter criteria.
 
template<class Operation >
std::pair< Aleph::DynList< T >, Aleph::DynList< T > > partition (Operation &&op) const
 Overload of partition(Operation&) that accepts rvalues.
 
template<class Operation >
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.
 
template<class Operation >
std::tuple< Aleph::DynList< T >, Aleph::DynList< T > > tpartition (Operation &op) const
 Exclusive partition of container according to a filter criteria.
 
template<class Operation >
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 StlAlephIterator< SetName >
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 Types

using CtorBase = SpecialCtors< DynList< T >, T >
 

Private Member Functions

T__insert (Snodenc< T > *p) noexcept
 
T__append (Snodenc< T > *p) noexcept
 

Additional Inherited Members

Detailed Description

template<typename T = int>
class Aleph::DynList< T >

Dynamic singly linked list with functional programming support.

DynList<T> is a versatile singly linked list that combines efficient list operations with a rich set of functional programming methods inherited from the FunctionalMethods mixin.

This is one of the most commonly used containers in Aleph-w, providing:

  • O(1) insertion at head and tail
  • O(1) removal at head
  • O(n) traversal with iterators
  • Comprehensive functional operations (map, filter, fold, etc.)
Template Parameters
TThe type of elements stored in the list (default: int).
Complexity:
Example:
DynList<int> list = {1, 2, 3, 4, 5};
// Functional operations
auto doubled = list.maps<int>([](int x) { return x * 2; });
auto evens = list.filter([](int x) { return x % 2 == 0; });
int sum = list.foldl(0, [](int acc, int x) { return acc + x; });
// Iteration
for (const auto& item : list)
std::cout << item << " ";
Dynamic singly linked list with functional programming support.
Definition htlist.H:1423
__T foldl(const __T &init, Op &op) const
Fold the elements of the container to a specific result.
Definition ah-dry.H:1034
Aleph::DynList< T > filter(Operation &operation) const
Filter the elements of a container according to a matching criteria.
Definition ah-dry.H:1135
Aleph::DynList< __T > maps(Operation &op) const
Map the elements of the container.
Definition ah-dry.H:904
T sum(const Container &container, const T &init=T{})
Compute sum of all elements.
STL namespace.
See also
HTList Base class providing head-tail structure.
DynDlist Doubly linked list alternative.
FunctionalMethods Inherited functional operations.
Author
Alejandro Mujica
Leandro Rabindranath León

Definition at line 1416 of file htlist.H.

Member Typedef Documentation

◆ CtorBase

template<typename T = int>
using Aleph::DynList< T >::CtorBase = SpecialCtors<DynList<T>, T>
private

Definition at line 1424 of file htlist.H.

◆ Item_Type

template<typename T = int>
using Aleph::DynList< T >::Item_Type = T

The type of item.

Definition at line 1431 of file htlist.H.

◆ Key_Type

template<typename T = int>
using Aleph::DynList< T >::Key_Type = T

The type of item.

Definition at line 1434 of file htlist.H.

Constructor & Destructor Documentation

◆ DynList() [1/3]

template<typename T = int>
Aleph::DynList< T >::DynList ( )
inline

Initialize an empty list.

Definition at line 1454 of file htlist.H.

◆ DynList() [2/3]

template<typename T = int>
Aleph::DynList< T >::DynList ( const DynList< T > &  l)
inline

Initialize a list with a copy of all the items of list l

Definition at line 1459 of file htlist.H.

◆ ~DynList()

template<typename T = int>
Aleph::DynList< T >::~DynList ( )
inline

Definition at line 1707 of file htlist.H.

References Aleph::DynList< T >::empty().

◆ DynList() [3/3]

template<typename T = int>
Aleph::DynList< T >::DynList ( DynList< T > &&  l)
inlinenoexcept

Initialize the list with all the items of l moved to this.

This constructor copies (by moving) all the items of list l. Consequently, no copy is done and the construction takes \(O(1)\).

Note
Since l is a rvalue reference, take care of that if you are interested in to avoid the copy. So, if you have a lvalue reference to a list, use std::move(), upon your responsibility, if and only if you are absolutely sure that the list will not be needed after.
Parameters
[in]la rvalue containing a entire list.

Definition at line 1852 of file htlist.H.

References l, and Aleph::DynList< T >::swap().

Member Function Documentation

◆ __append()

template<typename T = int>
T & Aleph::DynList< T >::__append ( Snodenc< T > *  p)
inlineprivatenoexcept

◆ __insert()

template<typename T = int>
T & Aleph::DynList< T >::__insert ( Snodenc< T > *  p)
inlineprivatenoexcept

◆ append() [1/4]

template<typename T = int>
DynList & Aleph::DynList< T >::append ( const DynList< T > &  list)
inline

Append to this a copy of list.

This version of append(l) traverses the items of l and appends them (copies) into this.

Parameters
[in]listlist to be copied at the end
Exceptions
bad_allocif there is no enough memory

Definition at line 1947 of file htlist.H.

References Aleph::HTList::append(), and Aleph::copy().

◆ append() [2/4]

template<typename T = int>
T & Aleph::DynList< T >::append ( const T item)
inline

Append a new item by copy.

Allocate memory for a new item, copy and append it at the end of the list.

Returns
a modifiable reference to the item in the list
Exceptions
`bad_alloc`if there is no enough memory

Definition at line 1562 of file htlist.H.

References Aleph::DynList< T >::__append().

Referenced by ComplexArray::ComplexArray(), Container< Ctype >::Container(), List_of_25_items::List_of_25_items(), WorkersSet< WorkerFct >::WorkersSet(), Aleph::__compute_cut_nodes(), Aleph::__dfp_phase2_list(), QuadNode::add_point(), Aleph::align_text_to_left(), Aleph::Path< GT >::append(), Aleph::Path< GT >::append_directed(), Aleph::Path< GT >::append_directed(), Aleph::Path< GT >::arcs(), Aleph::arcs(), Aleph::arcs_map(), Aleph::arcs_map(), Aleph::array_to_DynArray(), Aleph::assign_container(), Aleph::binary_search_dup(), Aleph::binindex_dup(), Aleph::binindex_dup(), Aleph::BitArray::bits_list(), Aleph::bsearch_dup(), Aleph::bsearch_dup(), Aleph::build_feasible_spanning_tree(), Aleph::Karger_Min_Cut< GT, SA >::build_kgraph(), DynListSortTest::build_list(), DynDlistSortTest::build_list(), Aleph::build_pars_list(), Aleph::build_perms(), Aleph::Johnson< GT, Distance, Ait, NAit, SA >::build_reverse_mappings(), Aleph::Network_Simplex< Net >::build_spanning_tree(), Aleph::Build_Subgraph< GT, SA >::build_subgraph(), Aleph::Cnode::children(), GraphCommon< GT, Node, Arc >::collect_arcs_if(), Aleph::complete_rows(), Aleph::compute_bipartite_all_components(), Aleph::Unconnected_Components< GT, SA >::compute_blocks(), Aleph::Compute_Cut_Nodes< GT, SA >::compute_blocks(), Aleph::compute_cut_nodes(), Aleph::Unconnected_Components< GT, SA >::compute_lists(), Aleph::compute_maximum_cardinality_bipartite_matching(), Aleph::compute_min_cut(), Aleph::compute_nodes_in_level_helper(), Aleph::concat(), Aleph::Random_Graph< GT, Init_Node, Init_Arc >::connect(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::connected_components(), Aleph::contiguous_range(), Aleph::Karger_Min_Cut< GT, SA >::contract(), QueueTheadsPool< T >::create_thread(), Aleph::csv_add_column(), Aleph::csv_group_by(), Aleph::csv_inner_join(), Aleph::csv_join_horizontal(), Aleph::csv_read_row(), Aleph::csv_rename_column(), Aleph::csv_select_columns(), Aleph::csv_sort_by_column(), Aleph::csv_sort_by_column_numeric(), Aleph::csv_transform(), Aleph::csv_transpose(), Aleph::decompose_flow(), demo_bfs_topological_sort(), demo_build(), demo_calculator(), demo_city_coordinates(), demo_convex_hull_cities(), demo_convex_hull_performance(), demo_coverage_area(), demo_department_codes(), demo_dynarray(), demo_dynlist(), demo_encoding_decoding(), demo_fold(), demo_hash_dispatcher(), demo_list_dynlist(), demo_performance(), demo_perm_predicates(), demo_permutations(), demo_practical(), demo_regions_menu(), demo_sieve_of_eratosthenes(), demo_simple_bloom_filter(), demo_subset_enumeration(), demo_text_processor(), demo_transformation(), demo_transpose(), demo_traverse(), demo_variadic_dispatcher(), demo_vector_dynarray(), demo_vector_dynlist(), demo_zipping(), Aleph::deque_to_Array(), Aleph::deque_to_DynArray(), Aleph::deque_to_DynList(), Aleph::dlink_random_search(), Aleph::dlink_random_select(), Aleph::drop_while(), Aleph::dynarray_to_Array(), Aleph::dynarray_to_DynDlist(), Aleph::dynarray_to_DynList(), Aleph::dyndlist_to_DynArray(), Aleph::dyndlist_to_DynList(), Aleph::dynlist_to_DynArray(), Aleph::dynlist_to_DynDlist(), Aleph::edge_connectivity(), Aleph::enumerate(), Aleph::enumerate_tuple(), Aleph::GenLinearHashTable< Key, BucketType, Cmp >::expand(), extract_from_stl_container(), Aleph::Karger_Min_Cut< GT, SA >::fast(), Aleph::filter(), Aleph::filter(), Aleph::filter_in_arcs(), Aleph::filter_out_arcs(), Aleph::filter_perm(), Aleph::flat_map(), Aleph::flatten(), Aleph::flatten(), Aleph::flatten(), Aleph::flatten(), Aleph::format_string_csv(), Aleph::gen_seq_list_tuples(), Aleph::get_curr_list(), Aleph::ZipIterator< C >::get_curr_list(), Aleph::get_futures(), QuadNode::get_neighbors_by_side(), Aleph::get_partial_arcs(), get_pre_in_list(), Aleph::QuickHull::get_right_points(), Aleph::get_unitarian_DynList(), Aleph::group_by(), Aleph::group_by_eq(), Aleph::group_by_reduce(), Aleph::Bloom_Filter< T >::hash_seeds(), Aleph::Bloom_Filter< T >::hashes(), Aleph::hlpp_maximum_flow(), Aleph::hopcroft_karp_matching(), GraphCommon< GT, Node, Arc >::in_arcs(), Aleph::in_arcs(), GraphCommon< GT, Node, Arc >::in_nodes(), Aleph::in_nodes(), Aleph::in_pairs(), Aleph::in_place_transpose(), Aleph::in_place_transpose(), Aleph::inconnected_components(), Aleph::infix(), Aleph::init_to_Array(), Aleph::init_to_DynArray(), Aleph::init_to_DynDlist(), Aleph::init_to_DynList(), Aleph::HTList::insert(), Aleph::MapOpenHash< Key, Data, Cmp, HashTable >::items_ptr(), Aleph::DynMapTree< Key, Data, Tree, Compare >::items_ptr(), Aleph::DynMapHashTable< Key, Data, HashTable, Cmp >::items_ptr(), QuadTree::join(), Aleph::justify_text(), Aleph::Karger_Min_Cut< GT, SA >::karger_min_cut(), Aleph::kosaraju_connected_components(), Aleph::kosaraju_connected_components(), Aleph::list_insertion_sort(), Aleph::list_to_DynList(), main(), Aleph::Net_Graph< NodeT, ArcT >::make_super_sink(), Aleph::Net_Graph< NodeT, ArcT >::make_super_source(), Aleph::Johnson< GT, Distance, Ait, NAit, SA >::map_copy_path_to_original(), Aleph::map_cut_graph(), Aleph::Compute_Cut_Nodes< GT, SA >::map_cut_graph(), Aleph::map_in_arcs(), Aleph::map_keys_to_DynList(), Aleph::map_out_arcs(), Aleph::map_perm(), Aleph::map_to_Array(), Aleph::map_to_DynList(), Aleph::map_values_to_DynList(), Aleph::maphash_keys_to_DynList(), Aleph::maphash_to_Array(), Aleph::maphash_to_DynList(), Aleph::maphash_values_to_DynList(), Aleph::maps(), Aleph::maptree_keys_to_DynList(), Aleph::maptree_to_Array(), Aleph::maptree_to_DynList(), Aleph::maptree_values_to_DynList(), Aleph::Path< GT >::nodes(), Aleph::nodes_map(), Aleph::Net_Sup_Dem_Graph< NodeT, ArcT >::non_feasible_nodes(), Aleph::nrange(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::operator()(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::operator()(), Aleph::QuickHull::operator()(), Aleph::Stoer_Wagner_Min_Cut< GT, Distance, SA >::operator()(), Aleph::CuttingEarsTriangulation::operator()(), Polinomio::operator+=(), Aleph::DynList< T >::operator=(), GraphCommon< GT, Node, Arc >::out_arcs(), Aleph::out_arcs(), GraphCommon< GT, Node, Arc >::out_nodes(), Aleph::out_nodes(), Aleph::out_pairs(), parse_arc(), parse_connexion(), parse_dashed_arc(), Aleph::partition(), Aleph::QuickHull::partition(), Aleph::pointers_list(), Aleph::pointers_list(), populate_dyndlist(), populate_dynlist(), DlinkListOperationsTest::populateList(), Aleph::prefix(), Aleph::DynListQueue< T >::put(), Aleph::DynListQueue< T >::put(), Aleph::QuickHull::quick_hull(), Aleph::quicksort(), Aleph::quicksort(), Aleph::range(), Aleph::range(), K2Tree< T >::range(), Aleph::range_to_DynList(), RingFileCache< T >::read_from(), RingFileCache< T >::read_from(), Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::remove_node(), Aleph::List_SGraph< __Graph_Node, __Graph_Arc >::remove_node(), Aleph::rep(), Aleph::repeated(), Aleph::repeated_with_index(), Aleph::scanl(), Aleph::scanl_sum(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::scc_by_blocks(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::scc_by_len(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::scc_by_lists(), scenario_construction(), Aleph::sequential_groups(), Aleph::Bloom_Filter< T >::set_bits(), Aleph::set_range(), Aleph::set_to_Array(), Aleph::set_to_DynArray(), Aleph::set_to_DynList(), Aleph::sethash_to_Array(), Aleph::sethash_to_DynArray(), Aleph::sethash_to_DynList(), Aleph::settree_to_Array(), Aleph::settree_to_DynArray(), Aleph::settree_to_DynList(), DynListRemovePredicateTest::SetUp(), DynListIteratorTest::SetUp(), Aleph::shuffle(), Aleph::shuffle_ptr(), Aleph::MCF_LP_Solver< Net >::solve(), Aleph::solve_assignment(), Aleph::solve_circulation(), Aleph::List_SGraph< __Graph_Node, __Graph_Arc >::sort_arcs(), Aleph::split_camel_case(), Aleph::Dlink::split_list_ne(), Aleph::split_n(), Aleph::split_string(), Aleph::split_text_into_words(), Aleph::stl_container_to_dynList(), Aleph::sublist(), Aleph::suffix(), Aleph::t_enum_zip(), Aleph::t_enum_zip_eq(), Aleph::t_zip(), Aleph::t_zip_eq(), FunctionalMethods< Container, T >::take(), Aleph::take_while(), 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(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), test_all_constructors_agree(), test_construct_all_identical(), test_construct_from_dynlist(), 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(), 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(), 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::to_Array(), to_array(), Aleph::to_Array(), Aleph::Matrix< Trow, Tcol, NumType >::to_collist(), Aleph::to_DynArray(), to_dynlist(), Aleph::Matrix< Trow, Tcol, NumType >::to_rowlist(), Aleph::FunctionalMixin< Derived, Type >::tpartition(), FunctionalMethods< Container, T >::tpartition(), Aleph::transpose(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST_P(), TYPED_TEST_P(), Aleph::tzip(), Aleph::tzip_longest(), Aleph::tzipEq(), Aleph::uni_unzip(), Aleph::uni_zip_to_dynlist(), Aleph::unique_sequential(), Aleph::unzip(), Aleph::AHMapping< Key, ValueType >::values(), Aleph::MapOpenHash< Key, Data, Cmp, HashTable >::values_ptr(), Aleph::DynMapTree< Key, Data, Tree, Compare >::values_ptr(), Aleph::DynMapHashTable< Key, Data, HashTable, Cmp >::values_ptr(), Aleph::vector_to_Array(), Aleph::vector_to_Array(), Aleph::vector_to_DynArray(), Aleph::vector_to_DynArray(), Aleph::vector_to_DynDlist(), Aleph::vector_to_DynDlist(), Aleph::vector_to_DynList(), Aleph::vector_to_DynList(), Aleph::vertex_connectivity(), Aleph::Cnode::words_impl(), Aleph::Dlink::wrap_header(), Aleph::zip(), Aleph::zip_drop(), Aleph::zip_drop_while(), Aleph::zip_filter(), Aleph::zip_filter_eq(), Aleph::zip_lists(), Aleph::zip_lists_eq(), Aleph::zip_longest(), Aleph::zip_longest_opt(), Aleph::zip_map(), Aleph::zip_map_eq(), Aleph::zip_maps(), Aleph::zip_maps_eq(), Aleph::zip_maps_if(), Aleph::zip_maps_if_eq(), Aleph::zip_partition(), Aleph::zip_take(), Aleph::zip_take_while(), and Aleph::zipEq().

◆ append() [3/4]

template<typename T = int>
DynList & Aleph::DynList< T >::append ( DynList< T > &&  list)
inlinenoexcept

Append listat the end of this by movement.

append(l) (in this rvalue version), puts in constant time the items of l at the end of this. After calling l becomes empty.

Note
Since l is a rvalue reference, take care of that if you are interested in to avoid the copy. So, if you have a lvalue reference to a list, use std::move(), upon your responsibility, if and only if you are absolutely sure that the list will not be needed after.
Parameters
[in]lista rvalue reference to the list to be appended

Definition at line 1913 of file htlist.H.

References Aleph::HTList::append().

◆ append() [4/4]

template<typename T = int>
T & Aleph::DynList< T >::append ( T &&  item)
inline

Append a new item by movement.

Allocate memory for a new item, move to its allocated place and append it at the end of the list.

Returns
a modifiable reference to the item in the list
Exceptions
`bad_alloc`if there is no enough memory

Definition at line 1586 of file htlist.H.

References Aleph::DynList< T >::__append().

◆ empty()

template<typename T = int>
void Aleph::DynList< T >::empty ( )
inlinenoexcept

empty the list

Definition at line 1689 of file htlist.H.

References Aleph::HTList::get_first(), Aleph::HTList::get_last(), Aleph::Snodenc< T >::get_next(), Aleph::HTList::is_empty(), and Aleph::HTList::reset().

Referenced by Aleph::DynList< T >::~DynList(), Aleph::align_text_to_left(), Aleph::build_pars_list(), Aleph::compute_min_cut(), Aleph::compute_stats(), Aleph::design_survey(), QuadNode::empty(), Aleph::DynListQueue< T >::empty(), Aleph::DynListStack< T >::empty(), Aleph::export_network_to_dot(), Aleph::Karger_Min_Cut< GT, SA >::fast(), Aleph::AStar_Min_Path< GT, Distance, Heuristic, Itor, SA, HeapT >::find_min_path(), Aleph::Dijkstra_Min_Paths< GT, Distance, Itor, SA, HeapT >::find_min_path(), Aleph::is_multimodal(), Aleph::justify_text(), Aleph::Karger_Min_Cut< GT, SA >::karger_min_cut(), main(), Aleph::Stoer_Wagner_Min_Cut< GT, Distance, SA >::minimum_cut_phase(), Aleph::network_to_dot_string(), Aleph::Stoer_Wagner_Min_Cut< GT, Distance, SA >::operator()(), Aleph::DynList< T >::operator=(), Aleph::percentile(), print_results_table(), reset_huffman_btreepic_state(), Aleph::solve_project_selection(), Aleph::split_camel_case(), Aleph::split_string(), Aleph::ssp_shortest_path(), Aleph::stl_cartesian_product(), 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(), to_array(), to_dynlist(), Aleph::SourceLocation::to_string(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST_P(), Aleph::ThreadPool::wait_all_for(), Aleph::ThreadPool::wait_all_until(), and Aleph::ThreadPool::worker_loop().

◆ get() [1/2]

template<typename T = int>
T Aleph::DynList< T >::get ( )
inline

Definition at line 1637 of file htlist.H.

References Aleph::DynList< T >::remove().

Referenced by Aleph::__map_subgraph(), Aleph::compute_bipartite(), RingFileCache< T >::create(), Aleph::Compute_Cut_Nodes< GT, SA >::create_and_map_node(), Aleph::csv_read_row(), Aleph::csv_skip_bom(), Aleph::demangle(), demo_binary_heap(), demo_event_simulation(), demo_max_heap(), demo_queue(), Aleph::Huffman_Encoder_Engine::encode(), example_batch_processing(), example_performance(), Aleph::find_breadth_first_spanning_tree(), Aleph::Simplex< T >::get_objetive_function(), Aleph::Simplex< T >::get_objetive_function(), Aleph::Huffman_Encoder_Engine::insert_end_symbol_node(), main(), Aleph::map_cut_graph(), Aleph::Compute_Cut_Nodes< GT, SA >::map_cut_graph(), Aleph::map_subgraph(), Aleph::DynList< T >::operator[](), Aleph::parallel_for(), Aleph::pfilter(), Aleph::pfor_each(), Aleph::pfor_each(), Aleph::pmaps(), Aleph::read_char_from_stream(), Aleph::Huffman_Encoder_Engine::read_input(), RingFileCache< T >::resize(), scenario_betting_promos(), scenario_order_book(), scenario_sensor_monitoring(), scenario_sports_leaderboard(), Aleph::Huffman_Encoder_Engine::set_freq(), Aleph::Matrix< Trow, Tcol, NumType >::set_vector_as_col(), Aleph::Matrix< Trow, Tcol, NumType >::set_vector_as_row(), Aleph::skip_block_comment(), Aleph::skip_line_comment(), Aleph::skip_whitespace_and_comments(), RingFileCache< T >::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(), 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(), 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(), TEST_F(), TEST_F(), TEST_F(), Aleph::Huffman_Encoder_Engine::update_freq(), and Aleph::vertex_connectivity().

◆ get() [2/2]

template<typename T = int>
T & Aleph::DynList< T >::get ( const size_t  i)
inline

Obtains a modifiable reference to the i-th item of this.

Throws overflow_error if i is greater or equal to number of elements

Definition at line 1971 of file htlist.H.

References Aleph::DynList< T >::Iterator::get_curr(), Aleph::HTList::Iterator::has_curr(), FunctionalMethods< Container, T >::maps(), and Aleph::HTList::Iterator::next_ne().

◆ get_first()

template<typename T = int>
Aleph::DynList< T >::get_first ( ) const
inline

Return the first item of the list.

Returns
a modifiable reference to the first item
Exceptions
underflow_errorif the list is empty

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 1675 of file htlist.H.

References ah_underflow_error_if, Aleph::DynList< T >::get_first_ne(), and Aleph::HTList::is_empty().

Referenced by Aleph::Path< GT >::check(), Aleph::Matrix< Trow, Tcol, NumType >::create_by_rows(), demo_fold_reduce(), demo_folding(), Aleph::Find_Eulerian_Path< GT, SN, SA >::find_node_sequence(), Aleph::DynListQueue< T >::front(), Aleph::DynListQueue< T >::front(), Aleph::Find_Eulerian_Path< GT, SN, SA >::hierholzer_directed(), Aleph::Find_Eulerian_Path< GT, SN, SA >::hierholzer_undirected(), Aleph::in_place_transpose(), Aleph::Path< GT >::insert(), Aleph::Path< GT >::insert_directed(), 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(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), Aleph::DynListStack< T >::top(), Aleph::DynList< T >::top(), Aleph::DynListStack< T >::top(), TYPED_TEST_P(), and Aleph::unzip().

◆ get_first_ne()

template<typename T = int>
T & Aleph::DynList< T >::get_first_ne ( ) const
inlinenoexcept

Return the first item of the list without exception.

Returns
a modifiable reference to the first item

Definition at line 1653 of file htlist.H.

References Aleph::HTList::get_first().

Referenced by Aleph::DynSlist< T >::DynSlist(), Aleph::DynList< T >::get_first(), and Aleph::DynSlist< T >::operator=().

◆ get_head()

template<typename T = int>
Slinknc * Aleph::DynList< T >::get_head ( ) const
deletenoexcept

◆ get_last()

◆ get_last_ne()

template<typename T = int>
T & Aleph::DynList< T >::get_last_ne ( ) const
inlinenoexcept

Return the last item of the list without exception.

Returns
a modifiable reference to the last item

Definition at line 1643 of file htlist.H.

References Aleph::Snodenc< T >::get_data(), and Aleph::HTList::get_last().

Referenced by Aleph::DynList< T >::get_last().

◆ get_tail()

template<typename T = int>
Slinknc * Aleph::DynList< T >::get_tail ( ) const
deletenoexcept

◆ insert() [1/4]

template<typename T = int>
DynList & Aleph::DynList< T >::insert ( const DynList< T > &  list)
inline

Insert to this a copy of list.

This version of insert(l) traverses the items of l and insert a copy into this.

Parameters
[in]listlist to be copied at the end
Exceptions
bad_allocif there is no enough memory

Definition at line 1962 of file htlist.H.

References Aleph::HTList::insert(), and FunctionalMethods< Container, T >::maps().

◆ insert() [2/4]

template<typename T = int>
Aleph::DynList< T >::insert ( const T item)
inline

Insert a new item by copy.

Allocate memory for a new item, copy and insert into the list as the first item.

Returns
a modifiable reference to the item in the list
Exceptions
`bad_alloc`if there is no enough memory

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 1502 of file htlist.H.

References Aleph::DynList< T >::__insert().

Referenced by benchmark_comparison(), Aleph::binary_search_dup(), Aleph::binindex_dup(), Aleph::binindex_dup(), Aleph::bsearch_dup(), Aleph::bsearch_dup(), Aleph::build_combs(), Aleph::Karger_Min_Cut< GT, SA >::build_kgraph(), build_random_graph(), Aleph::check_baseball_elimination(), Aleph::compute_maximum_cardinality_bipartite_matching(), Aleph::compute_min_cut(), compute_min_cut_capacity(), Aleph::Bellman_Ford< GT, Distance, Ait, NAit, SA >::compute_nodes_weights(), OhashCommon< HashTbl, Key >::copy_from_table(), Aleph::Matrix< Trow, Tcol, NumType >::create_by_columns(), Aleph::Matrix< Trow, Tcol, NumType >::create_by_rows(), demo_adjacency_matrix(), demo_basic(), demo_basic_operations(), demo_bfs_topological_sort(), demo_binary_heap(), demo_cache_filter(), demo_calculator(), demo_city_coordinates(), demo_comparison(), demo_department_codes(), demo_dynlist(), demo_encoding_decoding(), demo_epsilon(), demo_event_simulation(), demo_fibonacci_heap(), demo_hash_dispatcher(), demo_identity(), demo_initializer_list(), demo_linear_system(), demo_matrix_arithmetic(), demo_matrix_mult(), demo_matrix_vector_mult(), demo_max_heap(), demo_named_matrix(), demo_outer_product(), demo_regions_menu(), demo_row_col_operations(), demo_sparse_matrix(), demo_sparse_vector(), demo_spell_checker(), demo_state_machine(), demo_string_indexed_vector(), demo_text_processor(), demo_transpose(), demo_variadic_dispatcher(), demo_vector_arithmetic(), demonstrate_basic_operations(), demonstrate_functional(), demonstrate_ranked_operations(), demonstrate_tree_types(), Aleph::digraph_graphviz(), Aleph::BruteForceConvexHull::extreme_edges(), Aleph::Directed_Find_Path< GT, Itor, SA >::find(), Aleph::foldr(), Aleph::generate_graphviz(), generate_random_values(), Aleph::get_min_path(), Aleph::Find_Eulerian_Path< GT, SN, SA >::hierholzer_directed(), Aleph::Find_Eulerian_Path< GT, SN, SA >::hierholzer_undirected(), Aleph::hopcroft_karp_matching(), Aleph::CuttingEarsTriangulation::init_ears(), Aleph::GenBinTree< NodeType, Key, Compare >::insert(), Aleph::Path< GT >::insert_directed(), Aleph::AHMapping< Key, ValueType >::inverse(), Aleph::Testing::RandomNetworkGenerator< Net >::is_connected(), Aleph::Test_Eulerian< GT, SN, SA >::is_connected(), Aleph::Test_Eulerian< GT, SN, SA >::is_strongly_connected(), main(), Aleph::map_unify(), Aleph::min_cut(), Aleph::CuttingEarsTriangulation::operator()(), Aleph::Network_Simplex< Net >::pivot_tree(), Aleph::DynListStack< T >::push(), Aleph::DynList< T >::push(), Aleph::DynListStack< T >::push(), Aleph::DynList< T >::push(), Aleph::rank_graphviz(), Aleph::DynList< T >::reverse(), Aleph::HTList::reverse(), Aleph::reverse(), Aleph::Dlink::reverse_list(), Aleph::IO_Graph< GT, Load_Node, Store_Node, Load_Arc, Store_Arc, NF, AF >::save(), Aleph::IO_Graph< GT, Load_Node, Store_Node, Load_Arc, Store_Arc, NF, AF >::save_in_text_mode(), Aleph::segment_image(), Aleph::set_unify(), Aleph::settree_to_stdset(), Aleph::solve_project_selection(), 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::HtdRbTreeRk< Key, Compare >::split_pos(), Aleph::GenTdRbTreeRk< NodeType, Key, Compare >::split_pos_inorder(), Aleph::stdmap_to_DynMapTree(), Aleph::stl_distinct(), 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(), 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(), 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(), 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(), 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(), Aleph::to_DynSetTree(), Aleph::to_set(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), Aleph::Karger_Min_Cut< GT, SA >::update_arcs(), Aleph::vector_to_DynSetTree(), verify_bipartition(), and verify_matching().

◆ insert() [3/4]

template<typename T = int>
DynList & Aleph::DynList< T >::insert ( DynList< T > &&  list)
inlinenoexcept

Insert listat the beginning of this by movement.

insert(l) (in this rvalue version), puts in constant time the items of l at the beginning of this. After calling l becomes empty.

Note
Since l is a rvalue reference, take care of that if you are interested in to avoid the copy. So, if you have a lvalue reference to a list, use std::move(), upon your responsibility, if and only if you are absolutely sure that the list will not be needed after.
Parameters
[in]lista rvalue reference to the list to be inserted

Definition at line 1933 of file htlist.H.

References Aleph::HTList::insert().

◆ insert() [4/4]

template<typename T = int>
Aleph::DynList< T >::insert ( T &&  item)
inline

Insert a new item by movement.

Allocate memory for a new item, move the item and insert into the list as the first item. This operation can be faster that the equivalent with copy

Returns
a modifiable reference to the item in the list
Exceptions
`bad_alloc`if there is no enough memory

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 1517 of file htlist.H.

References Aleph::DynList< T >::__insert().

◆ operator=() [1/2]

template<typename T = int>
DynList & Aleph::DynList< T >::operator= ( const DynList< T > &  l)
inline

Assign to this a copy of l

First, the list is emptied (all its elements are deleted). Then sequential copy of each item of l is inserted into this.

This assignation takes \(O(|l|)\) in complexity.

Parameters
[in]llist whose items want to be inserted into this
Exceptions
`bad_alloc`if there is no enough memory

Definition at line 1867 of file htlist.H.

References Aleph::DynList< T >::append(), Aleph::DynList< T >::empty(), Aleph::HTList::Iterator::has_curr(), and l.

◆ operator=() [2/2]

template<typename T = int>
DynList & Aleph::DynList< T >::operator= ( DynList< T > &&  l)
inlinenoexcept

Assign to this by movement the list l

This assignation swaps the content of this with the content of l. This swapping is done in \(O(1)\).

Note
Since l is a rvalue reference, take care of that if you are interested in to avoid the copy. So, if you have a lvalue referenced to a list, use std::move(), upon your responsibility, if and only if you are absolutely sure that the list will not be needed after.
Parameters
[in]la rvalue reference to the list to be assigned by movement.

Definition at line 1894 of file htlist.H.

References l, and Aleph::DynList< T >::swap().

◆ operator[]()

template<typename T = int>
T & Aleph::DynList< T >::operator[] ( const size_t i)
inline

Array-style access to the i-th item. Equivalent to get(i).

Definition at line 1981 of file htlist.H.

References Aleph::DynList< T >::get().

◆ pop()

◆ push() [1/2]

◆ push() [2/2]

template<typename T = int>
T & Aleph::DynList< T >::push ( T &&  item)
inline

Definition at line 1529 of file htlist.H.

References Aleph::DynList< T >::insert().

◆ put() [1/2]

◆ put() [2/2]

template<typename T = int>
T & Aleph::DynList< T >::put ( T &&  item)
inline

Definition at line 1538 of file htlist.H.

References Aleph::DynList< T >::push().

◆ remove() [1/2]

◆ remove() [2/2]

template<typename T = int>
template<class Equal = std::equal_to<T>>
T Aleph::DynList< T >::remove ( Equal  eq)
inline

Remove the first element matching an equality criteria.

remove(eq) sequentially traverses the list and on each current element curr it calls to eq(curr). If the test is true, then curr is removed from the list and a copy of curr is returned. Otherwise, if no element matches with eq() test, then exception domain_error is thrown.

The eq() must match the following signature:

bool eq(const T& op)

This test would return true when op satisfies the finding criteria`.

Since that this method is overloaded, you could define several flavors: a more sophisticated functor, function pointers or lambdas.

Parameters
[in]eqequality test
Returns
a copy of removed element if the item was found and removed; otherwise the exception domain_error is thrown.

Definition at line 1823 of file htlist.H.

References ah_domain_error, Aleph::eq(), Aleph::HTList::Iterator::has_curr(), and FunctionalMethods< Container, T >::maps().

◆ remove_first()

◆ remove_first_ne()

template<typename T = int>
T Aleph::DynList< T >::remove_first_ne ( )
inlinenoexcept

Definition at line 1622 of file htlist.H.

References Aleph::DynList< T >::remove_ne().

◆ remove_ne() [1/2]

template<typename T = int>
T Aleph::DynList< T >::remove_ne ( )
inlinenoexcept

Remove the first item of the list without exception.

Returns
a copy of removed item
Exceptions
underflow_errorif the list is empty

Definition at line 1596 of file htlist.H.

References l, FunctionalMethods< Container, T >::maps(), and Aleph::HTList::remove_head_ne().

Referenced by Aleph::DynList< T >::remove_first_ne(), and TEST_F().

◆ remove_ne() [2/2]

template<typename T = int>
template<class Equal = std::equal_to<T>>
T Aleph::DynList< T >::remove_ne ( Equal  eq)
inlinenoexcept

◆ rev() [1/2]

template<typename T = int>
DynList Aleph::DynList< T >::rev ( ) const
inline

Definition at line 1782 of file htlist.H.

References Aleph::DynList< T >::reverse().

◆ rev() [2/2]

template<typename T = int>
DynList & Aleph::DynList< T >::rev ( )
inlinenoexcept

◆ reverse() [1/2]

template<typename T = int>
DynList Aleph::DynList< T >::reverse ( ) const
inline

Return a reversed copy of this.

Not confuse with reverse without const which mutates this

Definition at line 1773 of file htlist.H.

References LocateFunctions< Container, Type >::get_it(), Aleph::DynList< T >::insert(), and FunctionalMethods< Container, T >::maps().

◆ reverse() [2/2]

template<typename T = int>
DynList & Aleph::DynList< T >::reverse ( )
inlinenoexcept

◆ swap()

◆ top()


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