|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Dynamic singly linked list with functional programming support. More...
#include <htlist.H>
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 | |
| Slinknc * | get_head () const noexcept=delete |
| Slinknc * | get_tail () const noexcept=delete |
| DynList & | swap (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 | |
| T & | insert (const T &item) |
| Insert a new item by copy. | |
| T & | insert (T &&item) |
| Insert a new item by movement. | |
| T & | push (const T &item) |
| T & | push (T &&item) |
| T & | put (const T &item) |
| T & | put (T &&item) |
| T & | append (const T &item) |
| Append a new item by copy. | |
| T & | append (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 () |
| T & | get_last_ne () const noexcept |
| Return the last item of the list without exception. | |
| T & | get_first_ne () const noexcept |
| Return the first item of the list without exception. | |
| T & | get_last () const |
| Return the last item of the list. | |
| T & | get_first () const |
| Return the first item of the list. | |
| T & | top () const |
| void | empty () noexcept |
| empty the list | |
| ~DynList () | |
| DynList & | reverse () noexcept |
| DynList & | rev () 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. | |
| DynList & | operator= (const DynList &l) |
Assign to this a copy of l | |
| DynList & | operator= (DynList &&l) noexcept |
Assign to this by movement the list l | |
| DynList & | append (DynList &&list) noexcept |
Append listat the end of this by movement. | |
| DynList & | insert (DynList &&list) noexcept |
Insert listat the beginning of this by movement. | |
| DynList & | append (const DynList &list) |
Append to this a copy of list. | |
| DynList & | insert (const DynList &list) |
Insert to this a copy of list. | |
| T & | get (const size_t i) |
Obtains a modifiable reference to the i-th item of this. | |
| T & | operator[] (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. | |
| Slinknc * | get_head () const noexcept |
| Return list head (first element) | |
| Slinknc * | get_tail () const noexcept |
| Return list tail (last element) | |
| Slinknc * | get_first () const noexcept |
| Return list first element. | |
| Slinknc * | get_last () const noexcept |
Return the last item of the list (nullptr if the list is empty) | |
| HTList & | swap (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. | |
| Slinknc * | remove_head_ne () noexcept |
| It deletes head element (first one). | |
| Slinknc * | remove_head () |
| Slinknc * | remove_first_ne () noexcept |
| Slinknc * | remove_first () |
| bool | remove (Slinknc *link) |
Remove from the list the item pointed by link | |
| void | push (Slinknc *link) noexcept |
| Insert link as first element. | |
| Slinknc * | pop () |
| Slinknc * | top () 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 | |
| SpecialCtors & | operator= (const SpecialCtors &) |
| SpecialCtors & | operator= (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< __T > | maps_if (Prop prop, Operation &op) const |
| Conditional mapping of the elements of the container. | |
| template<typename __T = T, class Prop , class Operation > | |
| 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. | |
| 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 > | |
| 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. | |
| template<class Operation > | |
| T | 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 | |
Related Symbols inherited from FunctionalMethods< Container, T > | |
| each | |
| each | |
| each | |
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:
| T | The type of elements stored in the list (default: int). |
|
private |
|
inline |
|
inline |
Definition at line 1707 of file htlist.H.
References Aleph::DynList< T >::empty().
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)\).
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.| [in] | l | a rvalue containing a entire list. |
Definition at line 1852 of file htlist.H.
References l, and Aleph::DynList< T >::swap().
|
inlineprivatenoexcept |
Definition at line 1472 of file htlist.H.
References Aleph::HTList::append(), and FunctionalMethods< Container, T >::maps().
Referenced by Aleph::DynList< T >::append(), and Aleph::DynList< T >::append().
|
inlineprivatenoexcept |
Definition at line 1463 of file htlist.H.
References Aleph::HTList::insert(), and FunctionalMethods< Container, T >::maps().
Referenced by Aleph::DynList< T >::insert(), and Aleph::DynList< T >::insert().
Append to this a copy of list.
This version of append(l) traverses the items of l and appends them (copies) into this.
| [in] | list | list to be copied at the end |
| bad_alloc | if there is no enough memory |
Definition at line 1947 of file htlist.H.
References Aleph::HTList::append(), and Aleph::copy().
Append a new item by copy.
Allocate memory for a new item, copy and append it at the end of the list.
| `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().
|
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.
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.| [in] | list | a rvalue reference to the list to be appended |
Definition at line 1913 of file htlist.H.
References Aleph::HTList::append().
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.
| `bad_alloc` | if there is no enough memory |
Definition at line 1586 of file htlist.H.
References Aleph::DynList< T >::__append().
|
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().
|
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().
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().
|
inline |
Return the first item of the list.
| underflow_error | if 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().
|
inlinenoexcept |
Return the first item of the list without exception.
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=().
|
deletenoexcept |
|
inline |
Return the last item of the list.
| underflow_error | if the list is empty |
Definition at line 1663 of file htlist.H.
References ah_underflow_error_if, Aleph::DynList< T >::get_last_ne(), and Aleph::HTList::is_empty().
Referenced by Aleph::Path< GT >::append(), Aleph::Path< GT >::append_directed(), Aleph::Path< GT >::append_directed(), Aleph::Path< GT >::check_directed(), Aleph::format_string_csv(), Aleph::Path< GT >::get_last_node(), Aleph::inconnected_components(), Aleph::join(), Aleph::DynListQueue< T >::rear(), Aleph::DynListQueue< T >::rear(), Aleph::Rvector(), Aleph::Rvector(), Aleph::shift_lines_to_left(), 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(), Aleph::to_string(), and TYPED_TEST_P().
|
inlinenoexcept |
Return the last item of the list without exception.
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().
|
deletenoexcept |
Insert to this a copy of list.
This version of insert(l) traverses the items of l and insert a copy into this.
| [in] | list | list to be copied at the end |
| bad_alloc | if there is no enough memory |
Definition at line 1962 of file htlist.H.
References Aleph::HTList::insert(), and FunctionalMethods< Container, T >::maps().
Insert a new item by copy.
Allocate memory for a new item, copy and insert into the list as the first item.
| `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().
|
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.
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.| [in] | list | a rvalue reference to the list to be inserted |
Definition at line 1933 of file htlist.H.
References Aleph::HTList::insert().
|
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
| `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().
|
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.
| [in] | l | list whose items want to be inserted into this |
| `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.
|
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)\).
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.| [in] | l | a 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().
|
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().
|
inline |
Definition at line 1634 of file htlist.H.
References Aleph::DynList< T >::remove_first().
Referenced by apply(), eval(), Aleph::Stoer_Wagner_Min_Cut< GT, Distance, SA >::minimum_cut_phase(), Aleph::ssp_shortest_path(), TEST(), TEST(), TEST(), TEST(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().
Definition at line 1523 of file htlist.H.
References Aleph::DynList< T >::insert().
Referenced by Aleph::Huffman_Encoder_Engine::append_code(), apply(), eval(), Aleph::Stoer_Wagner_Min_Cut< GT, Distance, SA >::minimum_cut_phase(), Aleph::DynList< T >::put(), Aleph::DynList< T >::put(), Aleph::ssp_shortest_path(), TEST(), TEST(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().
Definition at line 1529 of file htlist.H.
References Aleph::DynList< T >::insert().
Definition at line 1532 of file htlist.H.
References Aleph::DynList< T >::push().
Referenced by Aleph::compute_bipartite(), demo_queue(), Aleph::Q_Topological_Sort< GT, Itor, SA >::ranks(), TEST(), TEST(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().
Definition at line 1538 of file htlist.H.
References Aleph::DynList< T >::push().
|
inline |
Remove the first item of the list.
| underflow_error | if 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 1611 of file htlist.H.
References l, FunctionalMethods< Container, T >::maps(), and Aleph::HTList::remove_head().
Referenced by TimeoutQueue::cancel_delete_event(), Aleph::Karger_Min_Cut< GT, SA >::contract(), Aleph::BinTreeXt_Iterator< TreeType, Node, Key, Compare >::del(), demo_basic_operations(), demo_modifiable_mapping(), demonstrate_basic_operations(), Aleph::DynList< T >::get(), main(), Aleph::BruteForceConvexHull::operator()(), Aleph::CuttingEarsTriangulation::operator()(), Aleph::GenBinTree< NodeType, Key, Compare >::remove(), Aleph::DynList< T >::remove_first(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), 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(), TimeoutQueue::triggerEvent(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), and Aleph::Karger_Min_Cut< GT, SA >::update_arcs().
|
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.
| [in] | eq | equality test |
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().
|
inline |
Definition at line 1628 of file htlist.H.
References Aleph::DynList< T >::remove().
Referenced by Aleph::align_text_to_left_except_first(), Aleph::Johnson< GT, Distance, Ait, NAit, SA >::build_reverse_mappings(), Aleph::Path< GT >::check(), Aleph::gen_seq_list_tuples(), Aleph::DynListQueue< T >::get(), Aleph::get_futures(), Aleph::get_futures(), Aleph::QuickHull::get_right_points(), Aleph::Find_Eulerian_Path< GT, SN, SA >::hierholzer_directed(), Aleph::Find_Eulerian_Path< GT, SN, SA >::hierholzer_undirected(), Aleph::hlpp_maximum_flow(), Aleph::in_place_transpose(), Aleph::Test_Eulerian< GT, SN, SA >::is_connected(), Aleph::Test_Eulerian< GT, SN, SA >::is_strongly_connected(), QuadTree::join(), Aleph::justify_line_except_first(), Aleph::Tarjan_Connected_Components< GT, Itor, SA >::operator()(), Aleph::DynList< T >::pop(), Aleph::DynListStack< T >::pop(), QuadTree::split(), TEST(), TEST(), TEST(), and TEST_F().
|
inlinenoexcept |
Definition at line 1622 of file htlist.H.
References Aleph::DynList< T >::remove_ne().
|
inlinenoexcept |
Remove the first item of the list without exception.
| underflow_error | if 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().
|
inlinenoexcept |
Definition at line 1785 of file htlist.H.
References Aleph::eq(), Aleph::HTList::Iterator::has_curr(), and FunctionalMethods< Container, T >::maps().
|
inline |
Definition at line 1782 of file htlist.H.
References Aleph::DynList< T >::reverse().
|
inlinenoexcept |
Definition at line 1769 of file htlist.H.
References Aleph::DynList< T >::reverse().
Referenced by List_of_25_items::List_of_25_items(), TEST_F(), TEST_F(), and Aleph::traverse_perm().
|
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().
|
inlinenoexcept |
Definition at line 1763 of file htlist.H.
References Aleph::HTList::reverse_list().
Referenced by Aleph::DynList< T >::rev(), Aleph::DynList< T >::rev(), TEST(), TEST(), TEST(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().
Swap this with l.
All items of each list are swapped in constant time
Definition at line 1448 of file htlist.H.
References l, and Aleph::HTList::swap().
Referenced by Aleph::DynList< T >::DynList(), Aleph::Karger_Min_Cut< GT, SA >::__fast_karger_min_cut(), Aleph::compute_min_cut(), Aleph::Karger_Min_Cut< GT, SA >::contract(), Aleph::Karger_Min_Cut< GT, SA >::fast(), Aleph::in_place_transpose(), Aleph::Karger_Min_Cut< GT, SA >::karger_min_cut(), Aleph::Topological_Sort< GT, Itor, SA >::operator()(), Aleph::Q_Topological_Sort< GT, Itor, SA >::operator()(), Aleph::Q_Topological_Sort< GT, Itor, SA >::operator()(), Aleph::DynList< T >::operator=(), Aleph::DynListQueue< T >::operator=(), Aleph::DynListStack< T >::operator=(), Aleph::DynListQueue< T >::swap(), Aleph::DynListStack< T >::swap(), Aleph::swap(), 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(), and TEST_F().
|
inline |
Definition at line 1683 of file htlist.H.
References Aleph::DynList< T >::get_first().
Referenced by demo_max_heap(), eval(), Aleph::Stoer_Wagner_Min_Cut< GT, Distance, SA >::minimum_cut_phase(), Aleph::ssp_shortest_path(), 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(), and TEST_F().