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

Simple dynamic array with automatic resizing and functional operations. More...

#include <tpl_array.H>

Inherits LocateFunctions< Array< T >, T >, FunctionalMethods< Array< T >, T >, GenericItems< Container, T >, EqualSequenceMethod< Array< T > >, and StlAlephIterator< Array< T > >.

Collaboration diagram for Aleph::Array< T >:
[legend]

Classes

struct  Iterator
 Iterator on the items of an array. More...
 

Public Types

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

Public Member Functions

 Array (size_t dim=32)
 The type of key.
 
 Array (size_t n, const T &value)
 Construct an array with n copies of value.
 
 Array (const Array &s)
 Copy constructor.
 
 Array (Array &&s) noexcept
 Move constructor.
 
template<template< typename > class List>
 Array (const List< T > &l)
 
template<class It >
 Array (It b, It e)
 
 Array (std::initializer_list< T > l)
 
template<typename ... Args>
 Array (const T &item, Args &... args)
 
template<typename ... Args>
 Array (T &&item, Args &... args)
 
Arrayoperator= (const Array &s)
 Assign by copy s to this
 
void swap (Array &s) noexcept
 Swap this with s
 
Arrayoperator= (Array &&s) noexcept
 Assign by moving s to this
 
Tappend (const T &data)
 Append a copy of data
 
Tappend (T &&data)
 Append data
 
Arrayappend (const Array &a)
 
Array append (const Array &a) const
 
Tinsert (const T &data)
 insert a copy of data at the beginning of the array.
 
Tinsert (T &&data)
 insert a copy of data at the beginning of the array.
 
void putn (const size_t n)
 Reserve n additional logical slots in the array without value-initializing them.
 
void reserve (size_t cap)
 Reserves cap cells into the array.
 
Tbase ()
 Return a reference to the first element of array.
 
const Tbase () const
 
void empty () noexcept
 Empties the container.
 
void clear () noexcept
 Empties the container.
 
constexpr bool is_empty () const noexcept
 Checks if the container is empty.
 
constexpr size_t size () const noexcept
 Return the number of elements stored in the stack.
 
constexpr size_t capacity () const noexcept
 Return the internal capacity.
 
Tget_first () noexcept
 return a modifiable reference to the first element.
 
const Tget_first () const noexcept
 return a constant reference to the first element.
 
Tget_last () noexcept
 return a modifiable reference to the last element.
 
const Tget_last () const noexcept
 return a constant reference to the last element.
 
T remove_last ()
 
T remove_first ()
 
Toperator[] (size_t i)
 Return a reference to the ith element.
 
const Toperator[] (size_t i) const
 Return a constant reference to the ith element.
 
constexpr Toperator() (const size_t i) noexcept
 Return a reference to the ith element. It does not perform bound_statics checks.
 
constexpr const Toperator() (const size_t i) const noexcept
 Return a constant reference to the ith element. It does not perform bound_statics checks.
 
Arrayreverse ()
 Reverse the order of items in array.
 
Array reverse () const
 Return a copy of this with its items reversed.
 
Arrayrev ()
 
Array rev () const
 
template<class Operation >
bool traverse (Operation &operation)
 Traverse all the items of the stack from the youngest to the oldest and conditionally performs an operation.
 
template<class Operation >
bool traverse (Operation &operation) const
 
template<class Operation >
bool traverse (Operation &&operation=Operation()) const
 
template<class Operation >
bool traverse (Operation &&operation=Operation())
 
bool is_valid () const noexcept
 
Array to_array () const
 Copy to Aleph::Array (requires copyable elements).
 
- Public Member Functions inherited from LocateFunctions< Array< T >, T >
auto get_it () const
 Return a properly initialized iterator positioned at the first item on the container.
 
auto get_it (const size_t pos) const
 Return a properly initialized iterator positioned at the pos item on the container.
 
auto get_itor () const
 Alias of get_it().
 
T & nth_ne (const size_t n) noexcept
 Return the n‑th element without bounds checking.
 
const T & nth_ne (const size_t n) const noexcept
 Const overload of nth_ne(size_t).
 
T & nth (const size_t n)
 Return the n-th item of the container.
 
const T & nth (const size_t n) const
 Const overload of nth(size_t).
 
T * find_ptr (Operation &operation) noexcept(operation_is_noexcept< Operation >())
 Find a pointer to an item in the container according to a searching criterion.
 
const T * find_ptr (Operation &operation) const noexcept(operation_is_noexcept< Operation >())
 Const overload of find_ptr(Operation&).
 
const T * find_ptr (Operation &&operation) const noexcept(operation_is_noexcept< Operation >())
 Overload of find_ptr() const that accepts rvalues.
 
T * find_ptr (Operation &&operation) noexcept(operation_is_noexcept< Operation >())
 Overload of find_ptr() that accepts rvalues.
 
size_t find_index (Operation &operation) const noexcept(operation_is_noexcept< Operation >())
 Find the position of an item in the container according to a searching criterion.
 
size_t find_index (Operation &&operation) const noexcept(operation_is_noexcept< Operation >())
 Overload of find_index() that accepts rvalues.
 
std::tuple< bool, T > find_item (Operation &operation) noexcept(operation_is_noexcept< Operation >())
 Safe sequential searching of an item matching a criterion.
 
std::tuple< bool, T > find_item (Operation &operation) const noexcept(operation_is_noexcept< Operation >())
 
std::tuple< bool, T > find_item (Operation &&operation) noexcept(operation_is_noexcept< Operation >())
 Overload of find_item() that accepts rvalues.
 
std::tuple< bool, T > find_item (Operation &&operation) const noexcept(operation_is_noexcept< Operation >())
 Overload of find_item() const that accepts rvalues.
 
bool contains_if (Operation &&operation) const noexcept(operation_is_noexcept< Operation >())
 Test if an item satisfying a criterion is present in the container.
 
bool contains (const T &item) const
 Test if an item is present in the container using equality.
 
- Public Member Functions inherited from FunctionalMethods< Array< T >, T >
void emplace (Args &&... args)
 Appends a new element into the container by constructing it in-place with the given args.
 
void emplace_end (Args &&... args)
 
void emplace_ins (Args &&... args)
 Insert a new element into the container by constructing it in-place with the given args.
 
size_t ninsert (Args ... args)
 Insert n variadic items.
 
size_t nappend (Args ... args)
 Append n variadic items.
 
void for_each (Operation &operation)
 Traverse all the container and performs an operation on each element.
 
void for_each (Operation &operation) const
 Const overload of for_each(Operation&).
 
void for_each (Operation &&operation) const
 Overload of for_each() const that accepts rvalues.
 
void for_each (Operation &&operation)
 Overload of for_each() that accepts rvalues.
 
void each (Operation &operation)
 Alias of for_each(Operation&).
 
void each (Operation &operation) const
 Const alias of for_each(Operation&).
 
void each (Operation &&operation) const
 Const alias of each() that accepts rvalues.
 
void each (Operation &&operation)
 Alias of each() that accepts rvalues.
 
void each (size_t pos, const size_t slice, Operation &operation) const
 Traverse the container starting at pos taking one item every slice, performing a mutable operation on each visited element.
 
void each (const size_t pos, const size_t slice, Operation &&operation) const
 
void mutable_for_each (Operation &operation)
 Apply a mutable operation to each element of the container.
 
void mutable_for_each (Operation &&operation)
 
bool all (Operation &operation) const
 Check if all the elements of the container satisfy a condition.
 
bool all (Operation &&operation) const
 Overload of all() that accepts rvalues.
 
bool exists (Operation &op) const
 Test for existence in the container of an element satisfying a criterion.
 
bool exists (Operation &&op) const
 Overload of exists() that accepts rvalues.
 
Aleph::DynList< __T > maps (Operation &op) const
 Map the elements of the container.
 
Aleph::DynList< __T > maps (Operation &&op) const
 Overload of maps() that accepts rvalues.
 
Aleph::DynList< __T > maps_if (Prop prop, Operation &op) const
 Conditional mapping of the elements of the container.
 
Aleph::DynList< __T > maps_if (Prop prop, Operation &&op) const
 Overload of maps_if() that accepts rvalues.
 
Aleph::DynList< T > to_dynlist () const
 Convert container to DynList.
 
std::vector< T > to_vector () const
 Convert container to std::vector.
 
__T foldl (const __T &init, Op &op) const
 Fold the elements of the container to a specific result.
 
__T foldl (const __T &init, Op &&op=Op()) const
 Overload of foldl() that accepts rvalues.
 
__T fold_left (const __T &init, Op &op) const
 Alias for foldl with the same accumulator type.
 
__T fold_left (const __T &init, Op &&op=Op()) const
 Overload of fold_left() that accepts rvalues.
 
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.
 
fold (const T &init, Operation &&operation) const
 Overload of fold() that accepts rvalues.
 
Aleph::DynList< T > filter (Operation &operation) const
 Filter the elements of a container according to a matching criterion.
 
Aleph::DynList< T > filter (Operation &&operation) const
 Overload of filter() that accepts rvalues.
 
Aleph::DynList< const T * > ptr_filter (Operation &operation) const
 Filter the elements of a container according to a matching criterion and return a pointer to the matched items in the container.
 
Aleph::DynList< const T * > ptr_filter (Operation &&operation) const
 Overload of ptr_filter() that accepts rvalues.
 
Aleph::DynList< std::tuple< T, size_t > > pfilter (Operation &operation) const
 Filter the elements of a container according to a matching criterion and determine its positions respect to the traversal of container.
 
Aleph::DynList< std::tuple< T, size_t > > pfilter (Operation &&operation) const
 Overload of pfilter() that accepts rvalues.
 
std::pair< Aleph::DynList< T >, Aleph::DynList< T > > partition (Operation &op) const
 Exclusive partition of container according to a filter criterion.
 
std::pair< Aleph::DynList< T >, Aleph::DynList< T > > partition (Operation &&op) const
 Overload of partition() that accepts rvalues.
 
std::pair< Aleph::DynList< T >, Aleph::DynList< T > > partition (size_t n) const
 Exclusive partition of container in the nth item.
 
std::pair< Aleph::DynList< T >, Aleph::DynList< T > > split_half () const
 Split the container into two halves by alternating elements.
 
std::tuple< Aleph::DynList< T >, Aleph::DynList< T > > tpartition (Operation &op) const
 Exclusive partition of container according to a filter criterion.
 
std::tuple< Aleph::DynList< T >, Aleph::DynList< T > > tpartition (Operation &&op) const
 Overload of tpartition() 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 EqualSequenceMethod< Array< T > >
bool equal_to (const Array< T > &r) const
 Equality test between this and r.
 
bool operator== (const Array< T > &r) const
 Equality operator.
 
bool operator!= (const Array< T > &r) const
 Inequality operator.
 
- Public Member Functions inherited from StlAlephIterator< Array< T > >
iterator begin () noexcept
 Return an STL-compatible iterator to the first element.
 
const_iterator begin () const noexcept
 Return a const iterator to the first element.
 
iterator end () noexcept
 Return an STL-compatible end iterator.
 
const_iterator end () const noexcept
 Return a const end iterator.
 
const_iterator cbegin () const noexcept
 Return a const iterator to the first element.
 
const_iterator cend () const noexcept
 Return a const end iterator.
 

Static Public Member Functions

static Array create (size_t n)
 Create an array with n logical elements.
 

Private Attributes

MemArray< Tarray
 

Additional Inherited Members

Detailed Description

template<typename T>
class Aleph::Array< T >

Simple dynamic array with automatic resizing and functional operations.

Array<T> is a straightforward dynamic array implemented using a contiguous memory buffer that automatically grows or shrinks as elements are added or removed. It provides O(1) indexed access and amortized O(1) append.

This container offers a balance between simplicity and functionality, supporting both indexed access and a rich set of functional operations (map, filter, fold, etc.).

Template Parameters
TThe type of elements stored in the array.
Complexity:
  • Access by index: O(1)
  • append() / insert() at end: O(1) amortized
  • insert() at arbitrary position: O(n)
  • remove(): O(n) for search + O(n) for shift
  • size(): O(1)
  • Resize: O(n) when capacity is exceeded
Key Features:
  • O(1) indexed access via operator[]
  • Automatic capacity management
  • Functional programming operations (map, filter, fold, etc.)
  • STL-compatible iterators
  • Conversion to/from STL vectors and other containers
Comparison with Similar Containers:
  • Array vs DynArray: Array uses simple contiguous allocation; DynArray uses lazy three-level indexing for sparse arrays.
  • Array vs DynList: Array has O(1) indexed access but O(n) insertion in the middle; DynList has O(1) insertion/removal but O(n) indexed access.
  • Array vs std::vector: Similar behavior, but Array includes functional methods and integrates with Aleph-w ecosystem.
Example:
Array<int> arr(10); // Initial capacity of 10
// Add elements
arr.push(42);
arr.push(17);
arr.push(99);
// Indexed access (O(1))
std::cout << arr[1] << '\n'; // 17
arr[1] = 25;
// Functional operations
auto doubled = arr.maps<int>([](int x) { return x * 2; });
int sum = arr.foldl(0, [](int acc, int x) { return acc + x; });
auto evens = arr.filter([](int x) { return x % 2 == 0; });
// Convert to vector
std::vector<int> vec = arr.asVector();
// Range-based for
for (int x : arr)
std::cout << x << " ";
Simple dynamic array with automatic resizing and functional operations.
Definition tpl_array.H:139
Divide_Conquer_DP_Result< Cost > divide_and_conquer_partition_dp(const size_t groups, const size_t n, Transition_Cost_Fn transition_cost, const Cost inf=dp_optimization_detail::default_inf< Cost >())
Optimize partition DP using divide-and-conquer optimization.
T sum(const Container &container, const T &init=T{})
Compute sum of all elements.
STL namespace.
Note
Memory is contiguous, providing good cache locality.
Capacity grows automatically; manual control via reserve() if needed.
For sparse arrays with many gaps, consider DynArray instead.
See also
DynArray Lazy dynamic array with three-level indexing for sparse data.
DynList Doubly linked list alternative (O(1) insertion, O(n) access).
FunctionalMethods Inherited functional operations.
Author
Leandro Rabindranath León
Examples
dp_optimizations_example.cc, fft_example.cc, knapsack_example.cc, lis_example.cc, matrix_chain_example.cc, and subset_sum_example.cc.

Definition at line 134 of file tpl_array.H.

Member Typedef Documentation

◆ Item_Type

Definition at line 144 of file tpl_array.H.

◆ Key_Type

template<typename T >
using Aleph::Array< T >::Key_Type = T

The type of element.

Definition at line 145 of file tpl_array.H.

Constructor & Destructor Documentation

◆ Array() [1/9]

template<typename T >
Aleph::Array< T >::Array ( size_t  dim = 32)
inline

The type of key.

Initializes an array with a capacity of dim

Definition at line 148 of file tpl_array.H.

◆ Array() [2/9]

template<typename T >
Aleph::Array< T >::Array ( size_t  n,
const T value 
)
inline

Construct an array with n copies of value.

Creates an array of size n where each element is initialized by copy-constructing from value.

Parameters
[in]nNumber of elements to create.
[in]valueThe value to copy into each element.
Exceptions
std::bad_allocif memory allocation fails.
Note
Complexity: O(n) copies.
Exception safety: Strong guarantee (if allocation fails or T's copy constructor throws, no memory is leaked).
Thread safety: Safe to call concurrently on different instances; not thread-safe on the same instance.

Definition at line 162 of file tpl_array.H.

References Aleph::Array< T >::array.

◆ Array() [3/9]

template<typename T >
Aleph::Array< T >::Array ( const Array< T > &  s)
inline

Copy constructor.

Definition at line 202 of file tpl_array.H.

◆ Array() [4/9]

template<typename T >
Aleph::Array< T >::Array ( Array< T > &&  s)
inlinenoexcept

Move constructor.

Definition at line 207 of file tpl_array.H.

◆ Array() [5/9]

template<typename T >
template<template< typename > class List>
Aleph::Array< T >::Array ( const List< T > &  l)
inline

Definition at line 210 of file tpl_array.H.

◆ Array() [6/9]

template<typename T >
template<class It >
Aleph::Array< T >::Array ( It  b,
It  e 
)
inline

Definition at line 210 of file tpl_array.H.

◆ Array() [7/9]

template<typename T >
Aleph::Array< T >::Array ( std::initializer_list< T l)
inline

Definition at line 210 of file tpl_array.H.

◆ Array() [8/9]

template<typename T >
template<typename ... Args>
Aleph::Array< T >::Array ( const T item,
Args &...  args 
)
inline

Definition at line 212 of file tpl_array.H.

◆ Array() [9/9]

template<typename T >
template<typename ... Args>
Aleph::Array< T >::Array ( T &&  item,
Args &...  args 
)
inline

Definition at line 212 of file tpl_array.H.

Member Function Documentation

◆ append() [1/4]

template<typename T >
Array & Aleph::Array< T >::append ( const Array< T > &  a)
inline

Definition at line 262 of file tpl_array.H.

References Aleph::Array< T >::append(), and Aleph::Array< T >::array.

◆ append() [2/4]

template<typename T >
Array Aleph::Array< T >::append ( const Array< T > &  a) const
inline

◆ append() [3/4]

template<typename T >
T & Aleph::Array< T >::append ( const T data)
inline

Append a copy of data

Parameters
[in]datato be pushed by copy
Returns
a modifiable reference to the copy of inserted data
Exceptions
bad_allocif there is no enough memory
Examples
dp_optimizations_example.cc.

Definition at line 245 of file tpl_array.H.

References Aleph::Array< T >::array.

Referenced by Aleph::Count_Min_Sketch< T, CounterT >::Count_Min_Sketch(), Aleph::MonotonePolygonTriangulation::EdgeStatusTree::EdgeStatusTree(), Aleph::VisibilityPolygon::EdgeStatusTree::EdgeStatusTree(), Aleph::blossom_detail::Edmonds_Blossom_Matcher< GT, SA >::Edmonds_Blossom_Matcher(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingContext< WeightType >::MatchingContext(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingVerifier< WeightType >::MatchingVerifier(), Aleph::MinHash< T >::MinHash(), Aleph::ModularCombinatorics::ModularCombinatorics(), Aleph::FFT< Real >::OverlapAddBank::OverlapAddBank(), Aleph::SweepLineSegmentIntersection::StatusTree::StatusTree(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::_collect_sorted_primitive_linear_factors(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::_expanded_univariate_factors(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::_interpolated_factors_for_main_var(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::_try_lift_affine_linear_factor_for_main_var(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::_try_lift_primitive_affine_linear_factor_for_main_var(), Aleph::Convex_Hull_Trick< T >::add_line(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::add_oriented_edge(), Aleph::Aho_Corasick::add_pattern(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::allocate_page(), Aleph::Array< T >::append(), Aleph::Array< T >::append(), Aleph::GeomTriangleAdjacencyUtils::append_edge(), Aleph::Branch_And_Bound< Domain, ObjectivePolicy >::apply_move_and_recurse(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::autoreduce_groebner_basis(), Aleph::FFT< Real >::axis_base_offsets(), Aleph::FFT< Real >::batched_sosfilt(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::borrow_from_next(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::borrow_from_next(), brute_distance_squared(), Aleph::Aho_Corasick::build(), Aleph::AABBTree::build(), ArraySortTest::build_array(), Aleph::PolygonOffset::build_augmented(), Aleph::build_combinations(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::build_combinatorial_embedding_bruteforce(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::build_combinatorial_embedding_linear_lr(), Aleph::Gen_Heavy_Light_Decomposition< GT, SA >::build_decomposition(), Aleph::MonotonePolygonTriangulation::build_faces_from_diagonals(), Aleph::blossom_detail::Edmonds_Blossom_Matcher< GT, SA >::build_node_index(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::build_nonplanar_certificate(), Aleph::tree_dp_detail::Tree_Topology< GT, SA >::build_order(), Aleph::ShortestPathInPolygon::build_tris(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::build_underlying_simple_graph(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingVerifier< WeightType >::check_blossom(), check_delaunay_for_non_constrained(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::classify_k33(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::classify_k5(), Aleph::VoronoiDiagramFromDelaunay::clipped_cells(), Aleph::Naive_Suffix_Tree::collect_leaf_suffixes(), Aleph::Alpha_Beta< Domain >::collect_ordered_moves(), Aleph::Branch_And_Bound< Domain, ObjectivePolicy >::collect_ordered_moves(), Aleph::Lengauer_Tarjan_Dominators< GT, SA >::compress(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::compute_faces_from_rotation(), Aleph::compute_maximum_weight_general_matching(), Aleph::compute_shortest_path_funnel_trace(), Aleph::FFT< Real >::cosine_sum_window(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::count_components(), Aleph::csv_add_column(), Aleph::csv_distinct(), Aleph::csv_filter(), Aleph::csv_get_column(), Aleph::csv_group_by(), Aleph::csv_inner_join(), Aleph::csv_join_horizontal(), Aleph::csv_join_vertical(), Aleph::csv_read_all(), Aleph::csv_read_row(), Aleph::csv_rename_column(), Aleph::csv_select_columns(), Aleph::csv_skip_rows(), Aleph::csv_sort_by_column(), Aleph::csv_sort_by_column_numeric(), Aleph::csv_take_rows(), Aleph::csv_transform(), Aleph::csv_transpose(), Aleph::csv_unique(), Aleph::MonotonePolygonTriangulation::decompose_to_monotone_faces(), demo_advanced_algorithms(), demo_modular_linalg(), Aleph::ida_star_detail::dfs(), Aleph::Depth_First_Backtracking< Domain >::dfs(), Aleph::Depth_First_Backtracking< Domain >::dfs_visited(), Aleph::Lengauer_Tarjan_Dominators< GT, SA >::do_compute(), Aleph::dynarray_to_Array(), Aleph::FFT< Real >::STFTProcessor::emit_ready_frames(), Aleph::FFT< Real >::ISTFTProcessor::ensure_pending_size(), Aleph::subset_sum_detail::enumerate_sums(), Aleph::FFT< Real >::expand_real_batch_spectra(), expect_autoreduced_basis(), Aleph::Gen_Link_Cut_Tree_WithEdges< VT, ET, EdgeMonoid, LazyTag >::export_to_tree_node(), Aleph::PolygonOffset::extract_contours(), Aleph::FFT< Real >::factor_small_radices(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::fails_component_euler_bound(), Aleph::TrapezoidalMapPointLocation::find_crossed_trapezoids(), Aleph::ShortestPathInPolygon::find_sleeve(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::for_each_on_path(), Aleph::blossom_weighted_detail::mwmatching::impl::for_vertices_in_blossom(), Aleph::FFT< Real >::frame_offsets_impl(), Aleph::FFT< Real >::frame_signal(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::generate_permutations(), Aleph::BooleanPolygonOperations::greiner_hormann(), Aleph::in_place_transpose(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::init_empty_cache(), Aleph::init_to_Array(), Aleph::FFT< Real >::STFTProcessor::initialize_pending(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::insert_at(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::insert_at(), Aleph::Modular_Matrix< MatrixT >::inverse(), Aleph::FFT< Real >::kaiser_window(), Aleph::kmp_search(), Aleph::knapsack_01(), Aleph::knapsack_bounded(), Aleph::knapsack_unbounded(), Aleph::knuth_optimize_interval(), Aleph::blossom_detail::Edmonds_Blossom_Matcher< GT, SA >::lca(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), main(), main(), main(), main(), make_array(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingContext< WeightType >::make_blossom(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::make_path(), Aleph::k_shortest_paths_detail::make_path_snapshot(), Aleph::NTT< MOD, ROOT >::make_product_tree_storage(), Aleph::TrapezoidalMapPointLocation::make_trapezoid(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::make_vertex(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::make_vertices(), Aleph::string_dp_detail::make_zero_matrix(), Aleph::ConstrainedDelaunayTriangulation::map_constraints(), Aleph::matrix_chain_order(), Aleph::blossom_weighted_detail::mwmatching::maximum_weight_matching(), Aleph::ConstrainedDelaunayTriangulation::merge_and_deduplicate(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::merge_children(), Aleph::ConvexPolygonDecomposition::merge_faces(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::minimize_groebner_basis(), Aleph::FFT< Real >::Plan::mixed_radix_transform_recursive(), Aleph::monotone_queue_min_dp(), Aleph::MinkowskiSumConvex::normalize(), Aleph::DouglasPeuckerSimplification::operator()(), Aleph::TrapezoidalMapPointLocation::operator()(), Aleph::SweepLineSegmentIntersection::operator()(), Aleph::SegmentArrangement::operator()(), Aleph::ClosestPairDivideAndConquer::operator()(), Aleph::DelaunayTriangulationRandomizedIncremental::operator()(), Aleph::GrahamScanConvexHull::operator()(), Aleph::MinimumEnclosingCircle::operator()(), Aleph::VisvalingamWhyattSimplification::operator()(), Aleph::DouglasPeuckerSimplification::operator()(), Aleph::ChaikinSmoothing::operator()(), Aleph::MinkowskiSumConvex::operator()(), Aleph::ConvexPolygonDecomposition::operator()(), Aleph::TrapezoidalMapPointLocation::operator()(), Aleph::VisibilityPolygon::operator()(), Aleph::ShortestPathInPolygon::operator()(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::orient_dfs(), Aleph::planar_dual_metadata(), Aleph::planar_geometric_drawing(), Aleph::FFT< Real >::pole_zero_pairs_impl(), Aleph::NTT< MOD, ROOT >::poly_sqrt(), polygon_area(), Aleph::FFT< Real >::OverlapAdd::pprocess_block(), Aleph::adversarial_search_detail::prepend_move(), Aleph::FFT< Real >::OverlapAdd::process_block(), Aleph::sort_utils_detail::radix_sort_impl(), Aleph::sort_utils_detail::radix_sort_impl(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::rebuild_groebner_pair_state(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::rebuild_separators(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::remove_zero_and_duplicates(), Aleph::FFT< Real >::root_groups_impl(), Aleph::Dial_Min_Paths< GT, Distance, Itor, SA >::run_dial(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::run_lr_planarity_test(), scenario_construction(), scenario_road_network(), Aleph::Aho_Corasick::search(), ArraySortTest::SetUp(), Aleph::detail::shortest_path_portals(), Aleph::VisvalingamWhyattSimplification::simplify_open_array(), Aleph::VisvalingamWhyattSimplification::simplify_polygon(), Aleph::DouglasPeuckerSimplification::simplify_polygon(), Aleph::FFT< Real >::OverlapAddBank::slice_chunk(), Aleph::ChaikinSmoothing::smooth_closed_once(), Aleph::ChaikinSmoothing::smooth_open_once(), sorted_hull_vertices(), Aleph::AndrewMonotonicChainConvexHull::sorted_unique_points(), Aleph::GrahamScanConvexHull::sorted_unique_points(), Aleph::TrapezoidalMapPointLocation::split_multiple_trapezoids(), Aleph::TrapezoidalMapPointLocation::split_single_trapezoid(), Aleph::detail::spp_build_tris(), Aleph::detail::spp_find_sleeve(), Aleph::subset_sum(), Aleph::subset_sum_mitm(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), 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_array(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), 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(), Aleph::to_Array(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingContext< WeightType >::trace_alternating_paths(), Aleph::FFT< Real >::transfer_function_to_sections(), Aleph::transpose(), Aleph::GeomBowyerWatsonUtils::triangulate(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), Aleph::DelaunayTriangulationBowyerWatson::unique_points(), and Aleph::vector_to_Array().

◆ append() [4/4]

template<typename T >
T & Aleph::Array< T >::append ( T &&  data)
inline

Append data

Parameters
[in]datato be pushed by moving
Returns
a modifiable reference to the moved inserted data
Exceptions
bad_allocif there is no enough memory

Definition at line 257 of file tpl_array.H.

References Aleph::Array< T >::array.

◆ base() [1/2]

template<typename T >
T & Aleph::Array< T >::base ( )
inline

Return a reference to the first element of array.

Definition at line 321 of file tpl_array.H.

References ah_underflow_error_if, Aleph::Array< T >::array, and Aleph::Array< T >::is_empty().

Referenced by LFit::LFit().

◆ base() [2/2]

template<typename T >
const T & Aleph::Array< T >::base ( ) const
inline

◆ capacity()

template<typename T >
constexpr size_t Aleph::Array< T >::capacity ( ) const
inlineconstexprnoexcept

Return the internal capacity.

Definition at line 354 of file tpl_array.H.

References Aleph::Array< T >::array.

◆ clear()

template<typename T >
void Aleph::Array< T >::clear ( )
inlinenoexcept

Empties the container.

Exceptions
none
See also
empty()

Definition at line 342 of file tpl_array.H.

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

◆ create()

template<typename T >
static Array Aleph::Array< T >::create ( size_t  n)
inlinestatic

Create an array with n logical elements.

This static factory creates an array and then grows it with ret.putn(n). putn() delegates to MemArray::putn(), which only adjusts logical size (and backing storage if needed): it does NOT value-initialize new entries for any T.

All new elements are therefore uninitialized, and the caller MUST assign each position before reading it.

Parameters
[in]nNumber of elements to create.
Returns
Array with n logical elements (all uninitialized).
Exceptions
std::bad_allocif there is not enough memory.
Note
Complexity: O(n) for allocation; logical growth via putn() is O(1) here.
Exception safety: Strong guarantee.
Thread safety: Safe to call concurrently.
Example
auto arr = Array<int>::create(100);
// arr[0] is undefined (garbage)
arr[0] = 42; // Assign before read
static Array create(size_t n)
Create an array with n logical elements.
Definition tpl_array.H:194

Definition at line 194 of file tpl_array.H.

References Aleph::divide_and_conquer_partition_dp().

Referenced by Aleph::Gen_Reroot_DP< GT, T, SA >::Gen_Reroot_DP(), Aleph::Gen_Tree_DP< GT, T, SA >::Gen_Tree_DP(), Aleph::FFT< Real >::OverlapAdd::OverlapAdd(), Aleph::FFT< Real >::OverlapAddBank::OverlapAddBank(), Aleph::FFT< Real >::OverlapSave::OverlapSave(), Aleph::FFT< Real >::PartitionedConvolver::PartitionedConvolver(), Aleph::Range_Fenwick_Tree< T >::Range_Fenwick_Tree(), Aleph::Range_Fenwick_Tree< T >::Range_Fenwick_Tree(), Aleph::Segment_Tree_Beats< T >::Segment_Tree_Beats(), Aleph::FFT< Real >::analytic_group_delay_impl(), Aleph::FFT< Real >::analytic_phase_delay_impl(), Aleph::FFT< Real >::analytic_sos_group_delay_impl(), Aleph::FFT< Real >::Plan::apply_bluestein_transform(), Aleph::NTT< MOD, ROOT >::Plan::apply_bluestein_transform(), Aleph::bucket_sort_detail::apply_sort_with_temp(), Aleph::FFT< Real >::apply_window(), Aleph::FFT< Real >::apply_window(), Aleph::FFT< Real >::axis_base_offsets(), Aleph::FFT< Real >::balance_polynomial_for_roots(), Aleph::NTT< MOD, ROOT >::bigint_multiply(), Aleph::FFT< Real >::bilinear_substitute_polynomial(), Aleph::boyer_moore_horspool_search(), Aleph::bucket_sort_detail::bucket_sort_impl(), Aleph::Gen_Cartesian_Tree< T, Comp >::build(), Aleph::Gen_Mo_On_Trees< GT, Policy >::build(), Aleph::Gen_Mo_On_Tree_Node< T, Policy >::build(), Aleph::Gen_HLD_Path_Query< GT, T, Op, SA >::build_base_array(), Aleph::Gen_Heavy_Light_Decomposition< GT, SA >::build_decomposition(), Aleph::lca_detail::Rooted_Tree_Data< GT, SA >::build_dfs_data(), Aleph::Gen_Euler_Tour_LCA< T, Comp >::build_euler_tour(), Aleph::Range_Fenwick_Tree< T >::build_from_diffs(), Aleph_Test_Helpers::build_graph_with_unit_arcs(), Aleph_Test_Helpers::build_graph_with_unit_arcs(), Aleph::Gen_Binary_Lifting_LCA< GT, SA >::build_jump_table(), Aleph::Gen_Sparse_Table< T, Op >::build_log_table(), Aleph::tree_dp_detail::Tree_Topology< GT, SA >::build_order(), Aleph::FFT< Real >::build_padded_frame_from_prefix(), build_path(), Aleph::Gen_Euler_RMQ_LCA< GT, SA >::build_rmq(), Aleph::FFT< Real >::OverlapSave::build_segment_spectrum(), Aleph::Gen_HLD< GT, T, Op, SA >::build_segment_tree(), Aleph::FFT< Real >::OverlapAdd::build_signal_block(), Aleph::FFT< Real >::OverlapAddBank::build_signal_block(), Aleph::Gen_Euler_Tour_LCA< T, Comp >::build_sparse_table(), build_star(), Aleph::FFT< Real >::butterworth_prototype(), Aleph::FFT< Real >::chebyshev1_prototype(), Aleph::FFT< Real >::chebyshev2_prototype(), Aleph::hld_detail::HLD_Tree_Data< GT, SA >::compute_hld_positions(), Aleph::hld_detail::HLD_Tree_Data< GT, SA >::compute_sizes_and_parents(), Aleph::FFT< Real >::OverlapAddBank::convolve_impl(), Aleph::FFT< Real >::OverlapAdd::convolve_impl(), Aleph::sort_utils_detail::counting_sort_impl(), Aleph::sort_utils_detail::counting_sort_impl(), Aleph::sort_utils_detail::counting_sort_impl(), Aleph::sort_utils_detail::counting_sort_impl(), Aleph::counting_sort_indices(), Aleph::FFT< Real >::demean_copy(), Aleph::FFT< Real >::design_prototype_sections(), Aleph::dinic_blocking_flow(), Aleph::divide_and_conquer_partition_dp(), Aleph::FFT< Real >::divide_polynomial_by_linear_root(), Aleph::Gen_Euler_Tour_LCA< T, Comp >::euler_tour(), Aleph::FFT< Real >::expand_real_spectrum(), Aleph::subset_sum_detail::extract_values_checked(), Aleph::knapsack_detail::extract_weights_checked(), Aleph::Gen_Segment_Tree< T, Op >::fill_from_aleph_it(), Aleph::Gen_Lazy_Segment_Tree< Policy >::fill_from_aleph_it(), Aleph::FFT< Real >::filtfilt(), Aleph::FFT< Real >::firls_impl(), Aleph::FFT< Real >::firwin_bandpass(), Aleph::FFT< Real >::firwin_lowpass_impl(), Aleph::FFT< Real >::STFTProcessor::flush(), Aleph::FFT< Real >::OverlapSave::flush(), Aleph::FFT< Real >::PartitionedConvolver::flush(), Aleph::FFT< Real >::frame_signal(), Aleph::FFT< Real >::freqz(), Aleph::FFT< Real >::freqz_impl(), Aleph::FFT< Real >::gather_axis_slice(), Aleph::FFT< Real >::group_delay_impl(), Aleph::Gen_Cartesian_Tree< T, Comp >::height(), Aleph::FFT< Real >::iir_filter_impl(), Aleph::FFT< Real >::iir_filtfilt_impl(), Aleph::FFT< Real >::iir_steady_state(), Aleph::in_place_multisort_arrays(), Aleph::hld_detail::HLD_Tree_Data< GT, SA >::index_nodes(), Aleph::lca_detail::Rooted_Tree_Data< GT, SA >::index_nodes(), Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::index_nodes(), Aleph::tree_dp_detail::Tree_Topology< GT, SA >::index_nodes(), Aleph::Gen_Cartesian_Tree< T, Comp >::init_and_build(), Aleph::Gen_Centroid_Decomposition< GT, SA >::init_storage(), Aleph::NTT< MOD, ROOT >::Plan::initialize_bit_reversal(), Aleph::FFT< Real >::Plan::initialize_bluestein_plan(), Aleph::NTT< MOD, ROOT >::Plan::initialize_bluestein_plan(), Aleph::FFT< Real >::Plan::initialize_mixed_radix_plan(), Aleph::FFT< Real >::Plan::initialize_power_of_two_plan(), Aleph::FFT< Real >::initialize_root_guesses(), Aleph::FFT< Real >::LFilter::initialize_state(), Aleph::FFT< Real >::SOSFilter::initialize_states(), Aleph::NTT< MOD, ROOT >::Plan::initialize_twiddles(), Aleph::Gen_Cartesian_Tree< T, Comp >::inorder(), Aleph::NTT< MOD, ROOT >::interpolate(), Aleph::FFT< Real >::inverse_transform_real_optimized_impl(), Aleph::FFT< Real >::istft_impl(), Aleph::kmp_prefix_function(), Aleph::knapsack_01(), Aleph::knapsack_01_value(), Aleph::knapsack_unbounded(), Aleph::knuth_optimize_interval(), Aleph::lcp_array_kasai(), Aleph::levenshtein_distance(), Aleph::longest_common_substring(), Aleph::longest_increasing_subsequence(), Aleph::longest_nondecreasing_subsequence(), main(), Aleph::string_dp_detail::make_zero_row(), Aleph::manacher(), Aleph::matrix_chain_order(), Aleph::min_weighted_squared_distance_1d(), Aleph::FFT< Real >::Plan::mixed_radix_transform_recursive(), Aleph::Gen_Mo_On_Trees< GT, Policy >::mo_sweep(), Aleph::Gen_Mo_On_Tree_Node< T, Policy >::mo_sweep(), Aleph::monotone_queue_min_dp(), Aleph::NTT< MOD, ROOT >::multipoint_eval(), Aleph::NTT< MOD, ROOT >::negacyclic_multiply(), Aleph::FFT< Real >::normalize_iir_coefficients(), Aleph::FFT< Real >::ISTFTProcessor::normalize_prefix(), Aleph::FFT< Real >::one_sided_frequency_grid(), Aleph::optimal_merge_knuth(), Aleph::FFT< Real >::overlap_add_frames(), Aleph::FFT< Real >::overlap_profile(), Aleph::FFT< Real >::OverlapSave::padded_chunk_copy(), Aleph::NTT< MOD, ROOT >::padded_copy(), Aleph::FFT< Real >::PartitionedConvolver::padded_partition(), Aleph::Gen_Mo_On_Trees< GT, Policy >::path_solve(), Aleph::Gen_Mo_On_Tree_Node< T, Policy >::path_solve(), Aleph::NTT< MOD, ROOT >::pbigint_multiply(), Aleph::FFT< Real >::pfiltfilt(), Aleph::FFT< Real >::STFTProcessor::pflush(), Aleph::FFT< Real >::phase_delay(), Aleph::FFT< Real >::phase_delay_impl(), Aleph::NTT< MOD, ROOT >::poly_derivative(), Aleph::NTT< MOD, ROOT >::poly_exp(), Aleph::NTT< MOD, ROOT >::poly_integral(), Aleph::NTT< MOD, ROOT >::poly_inverse(), Aleph::NTT< MOD, ROOT >::poly_sqrt(), Aleph::FFT< Real >::polynomial_from_roots_complex(), Aleph::FFT< Real >::polynomial_multiply(), Aleph::FFT< Real >::polynomial_roots_impl(), Aleph::FFT< Real >::OverlapAddBank::process_chunk_batch_impl(), Aleph::FFT< Real >::OverlapAdd::process_chunk_impl(), Aleph::FFT< Real >::OverlapSave::process_chunk_impl(), Aleph::FFT< Real >::PartitionedConvolver::process_partition_impl(), Aleph::sort_utils_detail::radix_sort_impl(), Aleph::sort_utils_detail::radix_sort_impl(), NTTIndustrialTest::random_poly(), Aleph::FFT< Real >::real_polynomial_from_roots(), Aleph::NTTExact::reconstruct_product(), Aleph::FFT< Real >::remez_impl(), Aleph::FFT< Real >::resample_poly(), Aleph::FFT< Real >::reshape_matrix_row_major(), Aleph::FFT< Real >::reverse_bessel_polynomial(), Aleph::FFT< Real >::row_major_strides(), Aleph::FFT< Real >::scaled_copy(), Aleph::FFT< Real >::section_from_coefficients(), Aleph::FFT< Real >::signed_binomial(), Aleph::Two_Sat< GT >::solve(), Aleph::Gen_Mo_Algorithm< T, Policy >::solve(), Aleph::Gen_Mo_Algorithm< T, Policy >::solve(), Aleph::FFT< Real >::solve_dense_system(), Aleph::FFT< Real >::solve_remez_cosine_series(), Aleph::subset_sum(), Aleph::subset_sum_count(), Aleph::subset_sum_exists(), Aleph::FFT< Real >::substitute_rational_polynomial(), Aleph::Gen_Mo_On_Trees< GT, Policy >::subtree_solve(), Aleph::Gen_Mo_On_Tree_Node< T, Policy >::subtree_solve(), Aleph::suffix_array(), TEST(), TEST(), 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(), Aleph::timsort_detail::timsort_impl(), Aleph::FFT< Real >::transform_real_optimized(), Aleph::tree_max_distance(), Aleph::tree_subtree_sizes(), Aleph::tree_sum_of_distances(), Aleph::FFT< Real >::try_laguerre_roots(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), Aleph::FFT< Real >::unwrap_phase(), Aleph::FFT< Real >::OverlapSave::update_history(), Aleph::FFT< Real >::upfirdn(), Aleph::tree_decomposition_detail::Rooted_Tree_Topology< GT, SA >::validate_connected_acyclic(), Aleph::Gen_Cartesian_Tree< T, Comp >::values(), Aleph::Gen_Disjoint_Sparse_Table< T, Op >::values(), Aleph::Gen_Fenwick_Tree< T, Plus, Minus >::values(), Aleph::Range_Fenwick_Tree< T >::values(), Aleph::Gen_Segment_Tree< T, Op >::values(), Aleph::Gen_Lazy_Segment_Tree< Policy >::values(), Aleph::Segment_Tree_Beats< T >::values(), Aleph::Gen_Sparse_Table< T, Op >::values(), Aleph::z_algorithm(), Aleph::NTT< MOD, ROOT >::zero_series(), and Aleph::FFT< Real >::PartitionedConvolver::zero_spectrum().

◆ empty()

◆ get_first() [1/2]

template<typename T >
const T & Aleph::Array< T >::get_first ( ) const
inlinenoexcept

return a constant reference to the first element.

No bound_statics check is performed

Definition at line 362 of file tpl_array.H.

References Aleph::Array< T >::array.

◆ get_first() [2/2]

◆ get_last() [1/2]

template<typename T >
const T & Aleph::Array< T >::get_last ( ) const
inlinenoexcept

return a constant reference to the last element.

No bound_statics check is performed

Definition at line 370 of file tpl_array.H.

References Aleph::Array< T >::array.

◆ get_last() [2/2]

◆ insert() [1/2]

template<typename T >
T & Aleph::Array< T >::insert ( const T data)
inline

insert a copy of data at the beginning of the array.

All the items are moved

Parameters
[in]datato be pushed by copy
Returns
a modifiable reference to the copy of inserted data
Exceptions
bad_allocif there is no enough memory

Definition at line 281 of file tpl_array.H.

References Aleph::Array< T >::array.

Referenced by Aleph::VoronoiDiagramFromDelaunay::clipped_cells(), Aleph::Lengauer_Tarjan_Dominators< GT, SA >::dominance_frontiers(), Aleph::VisibilityPolygon::EdgeStatusTree::insert(), and Aleph::rank_graphviz().

◆ insert() [2/2]

template<typename T >
T & Aleph::Array< T >::insert ( T &&  data)
inline

insert a copy of data at the beginning of the array.

All the items are moved

Parameters
[in]datato be pushed by moving
Returns
a modifiable reference to the moved inserted data
Exceptions
bad_allocif there is no enough memory

Definition at line 293 of file tpl_array.H.

References Aleph::Array< T >::array.

◆ is_empty()

template<typename T >
constexpr bool Aleph::Array< T >::is_empty ( ) const
inlineconstexprnoexcept

Checks if the container is empty.

Returns
true if empty, false otherwise.
Exceptions
none
Examples
knapsack_example.cc, and subset_sum_example.cc.

Definition at line 348 of file tpl_array.H.

References Aleph::Array< T >::array.

Referenced by Aleph::FFT< Real >::OverlapAdd::OverlapAdd(), Aleph::FFT< Real >::OverlapAddBank::OverlapAddBank(), Aleph::FFT< Real >::OverlapSave::OverlapSave(), Aleph::FFT< Real >::PartitionedConvolver::PartitionedConvolver(), Aleph::FFT< Real >::Plan::Plan(), Aleph::blossom_weighted_detail::mwmatching::adjust_weights_for_maximum_cardinality_matching(), Aleph::Array< T >::base(), Aleph::Array< T >::base(), Aleph::Aho_Corasick::build(), K2Tree< T >::build(), Aleph::MonotonePolygonTriangulation::build_faces_from_diagonals(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::build_nonplanar_certificate(), Aleph::FFT< Real >::build_weighted_frequency_grid(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::classify_k33(), Aleph::Naive_Suffix_Tree::collect_leaf_suffixes(), Aleph::Alpha_Beta< Domain >::collect_ordered_moves(), Aleph::Branch_And_Bound< Domain, ObjectivePolicy >::collect_ordered_moves(), Aleph::Lengauer_Tarjan_Dominators< GT, SA >::compress(), Aleph::NTTExact::conservative_bound(), Aleph::FFT< Real >::OverlapAdd::convolve_impl(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::count_components(), Aleph::FFT< Real >::STFTProcessor::emit_ready_frames(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::fails_component_euler_bound(), Aleph::FFT< Real >::filtfilt(), Aleph::adversarial_search_detail::first_move_of(), Aleph::FFT< Real >::OverlapAdd::flush(), Aleph::FFT< Real >::OverlapSave::flush(), Aleph::FFT< Real >::PartitionedConvolver::flush(), Aleph::blossom_weighted_detail::mwmatching::impl::for_vertices_in_blossom(), Aleph::FFT< Real >::frame_signal(), Aleph::FFT< Real >::group_center(), Aleph::FFT< Real >::group_delay_impl(), Aleph::FFT< Real >::iir_filter_impl(), Aleph::FFT< Real >::iir_filtfilt_impl(), Aleph::NTT< MOD, ROOT >::interpolate(), Aleph::DelaunayTriangulationRandomizedIncremental::locate(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::max_in(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::min_in(), Aleph::NTT< MOD, ROOT >::multiply(), Aleph::NTTExact::multiply(), Aleph::FFT< Real >::multiply_complex_impl(), Aleph::NTT< MOD, ROOT >::Plan::multiply_impl(), Aleph::FFT< Real >::multiply_real_optimized(), Aleph::NTT< MOD, ROOT >::multipoint_eval(), Aleph::NTT< MOD, ROOT >::multipoint_eval_recursive(), Aleph::NTT< MOD, ROOT >::negacyclic_multiply(), Aleph::FFT< Real >::normalize_tensor_layout(), Aleph::FFT< Real >::LFilter::order(), Aleph::FFT< Real >::overlap_add_convolution(), Aleph::FFT< Real >::overlap_add_convolution_batch(), Aleph::FFT< Real >::overlap_save_convolution(), Aleph::FFT< Real >::partitioned_convolution(), Aleph::FFT< Real >::pfiltfilt(), Aleph::FFT< Real >::phase_delay_impl(), Aleph::planar_dual_metadata(), Aleph::planar_geometric_drawing(), Aleph::NTT< MOD, ROOT >::pmultiply(), Aleph::NTTExact::pmultiply(), Aleph::NTT< MOD, ROOT >::poly_divmod(), Aleph::NTT< MOD, ROOT >::poly_exp(), Aleph::NTT< MOD, ROOT >::poly_inverse(), Aleph::NTT< MOD, ROOT >::poly_log(), Aleph::NTT< MOD, ROOT >::poly_mul_trunc(), Aleph::FFT< Real >::polynomial_power(), Aleph::FFT< Real >::poverlap_add_convolution(), Aleph::FFT< Real >::poverlap_add_convolution_batch(), Aleph::FFT< Real >::STFTProcessor::pprocess_block(), Aleph::FFT< Real >::OverlapAdd::pprocess_block(), Aleph::FFT< Real >::prepare_welch_frames(), Aleph::FFT< Real >::STFTProcessor::process_block(), Aleph::FFT< Real >::OverlapAdd::process_block(), Aleph::FFT< Real >::OverlapSave::process_block(), Aleph::FFT< Real >::PartitionedConvolver::process_block(), Aleph::FFT< Real >::OverlapAdd::process_chunk_impl(), Aleph::FFT< Real >::OverlapSave::process_chunk_impl(), Aleph::FFT< Real >::PartitionedConvolver::process_partition_impl(), Aleph::FFT< Real >::resample_poly(), Aleph::FFT< Real >::resolve_irfft_signal_size(), Aleph::FFT< Real >::sos_filtfilt_impl(), Aleph::FFT< Real >::stft_impl(), Aleph::FFT< Real >::substitute_rational_polynomial(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::subtree_max_ptr(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::subtree_min_ptr(), Aleph::FFT< Real >::tensor_element_count(), TEST(), TEST(), Aleph::FFT< Real >::transfer_function_to_sections(), Aleph::NTT< MOD, ROOT >::trim_trailing_zeros(), Aleph::FFT< Real >::unwrap_phase(), Aleph::FFT< Real >::OverlapSave::update_history(), Aleph::FFT< Real >::upfirdn(), Aleph::FFT< Real >::validate_stft_options(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::verify_leaf_chain(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::verify_node(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::verify_node(), Aleph::FFT< Real >::window_coherent_gain(), Aleph::FFT< Real >::window_enbw(), and Aleph::FFT< Real >::window_energy().

◆ is_valid()

template<typename T >
bool Aleph::Array< T >::is_valid ( ) const
inlinenoexcept

Definition at line 457 of file tpl_array.H.

References Aleph::Array< T >::array.

◆ operator()() [1/2]

template<typename T >
constexpr const T & Aleph::Array< T >::operator() ( const size_t  i) const
inlineconstexprnoexcept

Return a constant reference to the ith element. It does not perform bound_statics checks.

Definition at line 397 of file tpl_array.H.

References Aleph::Array< T >::array.

◆ operator()() [2/2]

template<typename T >
constexpr T & Aleph::Array< T >::operator() ( const size_t  i)
inlineconstexprnoexcept

Return a reference to the ith element. It does not perform bound_statics checks.

Definition at line 391 of file tpl_array.H.

References Aleph::Array< T >::array.

◆ operator=() [1/2]

template<typename T >
Array & Aleph::Array< T >::operator= ( Array< T > &&  s)
inlinenoexcept

Assign by moving s to this

Definition at line 233 of file tpl_array.H.

References Aleph::Array< T >::array, and Aleph::Array< T >::swap().

◆ operator=() [2/2]

template<typename T >
Array & Aleph::Array< T >::operator= ( const Array< T > &  s)
inline

Assign by copy s to this

Definition at line 215 of file tpl_array.H.

References Aleph::Array< T >::array.

◆ operator[]() [1/2]

template<typename T >
T & Aleph::Array< T >::operator[] ( size_t  i)
inline

Return a reference to the ith element.

Throws range_error if i is out of range

Definition at line 378 of file tpl_array.H.

References Aleph::Array< T >::array.

◆ operator[]() [2/2]

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

Return a constant reference to the ith element.

Throws range_error if i is out of range

Definition at line 385 of file tpl_array.H.

References Aleph::Array< T >::array.

◆ putn()

template<typename T >
void Aleph::Array< T >::putn ( const size_t  n)
inline

Reserve n additional logical slots in the array without value-initializing them.

The caller must assign to the new positions before reading them.

Parameters
[in]nnumber of cells to reserve
Exceptions
bad_allocif there is no enough memory

Definition at line 305 of file tpl_array.H.

References Aleph::Array< T >::array.

Referenced by Aleph::ModularCombinatorics::ModularCombinatorics(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::insert_at(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::insert_at(), and Aleph::Gen_Polynomial< Coefficient >::interpolate().

◆ remove_first()

◆ remove_last()

◆ reserve()

template<typename T >
void Aleph::Array< T >::reserve ( size_t  cap)
inline

Reserves cap cells into the array.

Parameters
[in]capnew dimension
Exceptions
bad_allocif there is no enough memory

Definition at line 315 of file tpl_array.H.

References Aleph::Array< T >::array.

Referenced by Aleph::Count_Min_Sketch< T, CounterT >::Count_Min_Sketch(), Aleph::MonotonePolygonTriangulation::EdgeStatusTree::EdgeStatusTree(), Aleph::blossom_detail::Edmonds_Blossom_Matcher< GT, SA >::Edmonds_Blossom_Matcher(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingContext< WeightType >::MatchingContext(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingVerifier< WeightType >::MatchingVerifier(), Aleph::MinHash< T >::MinHash(), Aleph::ModularCombinatorics::ModularCombinatorics(), Aleph::FFT< Real >::OverlapAddBank::OverlapAddBank(), Aleph::SweepLineSegmentIntersection::StatusTree::StatusTree(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::_build_interpolation_grid(), Aleph::string_search_detail::all_match_positions(), Aleph::suffix_structures_detail::all_positions(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingContext< WeightType >::augment_blossom_rec(), Aleph::FFT< Real >::axis_base_offsets(), Aleph::NTT< MOD, ROOT >::bigint_multiply(), Aleph::AABBTree::build(), Aleph::PolygonOffset::build_augmented(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::build_combinatorial_embedding_bruteforce(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::build_combinatorial_embedding_linear_lr(), Aleph::Gen_Heavy_Light_Decomposition< GT, SA >::build_decomposition(), Aleph::MonotonePolygonTriangulation::build_faces_from_diagonals(), Aleph::build_gray_code(), Aleph::blossom_detail::Edmonds_Blossom_Matcher< GT, SA >::build_node_index(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::build_nonplanar_certificate(), Aleph::tree_dp_detail::Tree_Topology< GT, SA >::build_order(), Aleph::build_planar_dual_graph(), Aleph::ShortestPathInPolygon::build_tris(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::build_underlying_simple_graph(), Aleph::FFT< Real >::chebyshev2_prototype(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingVerifier< WeightType >::check_blossom(), Aleph::blossom_weighted_detail::mwmatching::impl::check_input_graph(), Aleph::FFT< Real >::choose_remez_extrema(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::classify_k33(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::classify_k5(), Aleph::VoronoiDiagramFromDelaunay::clipped_cells(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::clone_node(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::clone_node(), Aleph::FFT< Real >::compact_real_batch_spectra(), Aleph::FFT< Real >::compact_real_spectrum(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::compute_faces_from_rotation(), Aleph::compute_maximum_weight_general_matching(), Aleph::PolygonOffset::compute_raw_offset(), Aleph::FFT< Real >::OverlapAddBank::convolve_impl(), Aleph::FFT< Real >::cosine_sum_window(), Aleph::KDTreePointSearch::debug_snapshot(), Aleph::MonotonePolygonTriangulation::decompose_to_monotone_faces(), Aleph::deque_to_Array(), Aleph::FFT< Real >::design_bandstop_sections_without_numerator_roots(), Aleph::FFT< Real >::design_prototype_sections(), Aleph::FFT< Real >::drop_prefix(), Aleph::FFT< Real >::elliptic_prototype(), Aleph::FFT< Real >::ISTFTProcessor::emit_samples(), Aleph::FFT< Real >::ISTFTProcessor::ensure_pending_size(), Aleph::subset_sum_detail::enumerate_sums(), Aleph::eppstein_k_shortest_paths(), Aleph::FFT< Real >::evenly_spaced_extrema(), Aleph::FFT< Real >::expand_real_batch_spectra(), Aleph::GeomPolygonUtils::extract_vertices(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::fill_certificate_paths(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::fill_embedding_result(), Aleph::ShortestPathInPolygon::find_sleeve(), Aleph::FFT< Real >::firls_impl(), Aleph::FFT< Real >::flatten_matrix_row_major(), Aleph::FFT< Real >::flatten_tensor3_row_major(), Aleph::GeomTriangleAdjacencyUtils::for_each_sorted_edge_group(), Aleph::HalfPlaneIntersection::from_convex_polygon(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::generate_permutations(), Aleph::BooleanPolygonOperations::greiner_hormann(), hull_signature(), Aleph::in_place_transpose(), Aleph::VoronoiDiagramFromDelaunay::indexed_clipped_cells(), Aleph::FFT< Real >::STFTProcessor::initialize_pending(), Aleph::Modular_Matrix< MatrixT >::inverse(), Aleph::ConvexPolygonOffset::inward(), Aleph::FFT< Real >::kaiser_window(), Aleph::karp_minimum_mean_cycle(), Aleph::karp_minimum_mean_cycle_value(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::keys(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::keys(), Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::keys(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::keys(), Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::keys(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::keys(), Aleph::knapsack_01(), Aleph::knuth_optimize_interval(), Aleph::blossom_detail::Edmonds_Blossom_Matcher< GT, SA >::lca(), Aleph::lis_length(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::load_from_disk(), Aleph::detail::load_ordered_tree_snapshot(), Aleph::longest_increasing_subsequence(), Aleph::longest_nondecreasing_subsequence(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingContext< WeightType >::lset_merge_blossoms(), Aleph::FFT< Real >::magnitude_spectrum(), main(), main(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingContext< WeightType >::make_blossom(), Aleph::k_shortest_paths_detail::make_path_snapshot(), Aleph::NTT< MOD, ROOT >::make_product_tree_storage(), Aleph::string_dp_detail::make_zero_matrix(), Aleph::map_to_Array(), Aleph::maphash_to_Array(), Aleph::maptree_to_Array(), Aleph::matrix_chain_order(), Aleph::blossom_weighted_detail::mwmatching::maximum_weight_matching(), Aleph::ConstrainedDelaunayTriangulation::merge_and_deduplicate(), Aleph::ConvexPolygonDecomposition::merge_faces(), Aleph::FFT< Real >::Plan::mixed_radix_transform_recursive(), Aleph::FFT< Real >::multiply_real_optimized(), Aleph::MinkowskiSumConvex::normalize(), Aleph::FFT< Real >::normalize_axes(), Aleph::NTT< MOD, ROOT >::normalize_poly(), Aleph::ConvexPolygonIntersectionBasic::normalize_vertices(), Aleph::HalfPlaneIntersection::normalize_vertices(), Aleph::HalfPlaneIntersection::operator()(), Aleph::TrapezoidalMapPointLocation::operator()(), Aleph::SweepLineSegmentIntersection::operator()(), Aleph::SegmentArrangement::operator()(), Aleph::PowerDiagram::operator()(), Aleph::RegularTriangulationBowyerWatson::operator()(), Aleph::VoronoiDiagramFromDelaunay::operator()(), Aleph::DelaunayTriangulationRandomizedIncremental::operator()(), Aleph::AndrewMonotonicChainConvexHull::operator()(), Aleph::GrahamScanConvexHull::operator()(), Aleph::AlphaShape::operator()(), Aleph::MinkowskiSumConvex::operator()(), Aleph::ConvexPolygonDecomposition::operator()(), Aleph::VisibilityPolygon::operator()(), Aleph::HalfPlaneIntersection::operator()(), Aleph::MonotonePolygonTriangulation::operator()(), Aleph::ConvexPolygonOffset::outward(), Aleph::NTT< MOD, ROOT >::pbigint_multiply(), Aleph::FFT< Real >::phase_spectrum(), Aleph::planar_dual_metadata(), Aleph::planar_geometric_drawing(), Aleph::NTT< MOD, ROOT >::poly_power(), Aleph::NTT< MOD, ROOT >::poly_sqrt(), polygon_area(), Aleph::FFT< Real >::power_spectrum(), Aleph::FFT< Real >::OverlapAdd::pprocess_block(), Aleph::FFT< Real >::prefix_copy(), Aleph::NTT< MOD, ROOT >::prefix_copy(), Aleph::adversarial_search_detail::prepend_move(), Aleph::FFT< Real >::OverlapAdd::process_block(), Aleph::FFT< Real >::OverlapAddBank::process_chunk_batch_impl(), Aleph::FFT< Real >::project_real_batch_output(), Aleph::FFT< Real >::project_real_output(), Aleph::FFT< Real >::project_to_plan_batch_spectra(), Aleph::sort_utils_detail::radix_sort_impl(), Aleph::sort_utils_detail::radix_sort_impl(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::range(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::range(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::rebuild_separators(), Aleph::ClosestPairDivideAndConquer::recurse(), Aleph::FFT< Real >::reflect_pad_signal(), Aleph::blossom_weighted_detail::mwmatching::impl::Problem_Data< WeightType >::remove_negative_weight_edges(), Aleph::reserve_search_path(), Aleph::FFT< Real >::reverse_copy(), Aleph::NTT< MOD, ROOT >::reverse_poly(), Aleph::BezierCurve::sample_cubic(), Aleph::BezierCurve::sample_quadratic(), Aleph::TestVisual::sanitize_filename(), Aleph::set_to_Array(), Aleph::sethash_to_Array(), Aleph::settree_to_Array(), Aleph::FFT< Real >::OverlapAddBank::slice_chunk(), Aleph::FFT< Real >::slice_copy(), Aleph::AndrewMonotonicChainConvexHull::sorted_unique_points(), Aleph::GrahamScanConvexHull::sorted_unique_points(), Aleph::FFT< Real >::sos_filtfilt_impl(), Aleph::TrapezoidalMapPointLocation::split_multiple_trapezoids(), Aleph::detail::spp_build_tris(), Aleph::detail::spp_find_sleeve(), Aleph::subset_sum(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), 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(), Aleph::DynArray< T >::to_array(), Aleph::FFT< Real >::to_array(), Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::to_pairs(), Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::to_pairs(), Aleph::FFT< Real >::transfer_function_to_sections(), Aleph::FFT< Real >::transform_real_optimized(), Aleph::GeomBowyerWatsonUtils::triangulate(), Aleph::MonotonePolygonTriangulation::triangulate_monotone(), Aleph::VoronoiDiagramFortune::triangulate_sweep(), Aleph::FFT< Real >::trim_leading_zeros_copy(), Aleph::NTT< MOD, ROOT >::truncate_poly(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), TYPED_TEST(), Aleph::KDTreePointSearch::unique_points(), Aleph::DelaunayTriangulationBowyerWatson::unique_points(), Aleph::RegularTriangulationBowyerWatson::unique_sites(), Aleph::Gen_File_B_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::values(), Aleph::Gen_File_BPlus_Map< Key, Value, Compare, MinDegree, KeyCodec, ValueCodec >::values(), Aleph::vector_to_Array(), Aleph::yen_k_shortest_paths(), Aleph::FFT< Real >::zero_pad_edges(), Aleph::FFT< Real >::zero_padded_copy(), and Aleph::FFT< Real >::zero_padded_copy().

◆ rev() [1/2]

template<typename T >
Array & Aleph::Array< T >::rev ( )
inline

Definition at line 419 of file tpl_array.H.

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

◆ rev() [2/2]

template<typename T >
Array Aleph::Array< T >::rev ( ) const
inline

Definition at line 421 of file tpl_array.H.

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

◆ reverse() [1/2]

template<typename T >
Array & Aleph::Array< T >::reverse ( )
inline

Reverse the order of items in array.

Definition at line 403 of file tpl_array.H.

References Aleph::Array< T >::array, and Aleph::Array< T >::reverse().

Referenced by Aleph::Array< T >::rev(), Aleph::Array< T >::rev(), and Aleph::Array< T >::reverse().

◆ reverse() [2/2]

template<typename T >
Array Aleph::Array< T >::reverse ( ) const
inline

Return a copy of this with its items reversed.

Definition at line 410 of file tpl_array.H.

References Aleph::Array< T >::array, Aleph::divide_and_conquer_partition_dp(), and Aleph::Array< T >::size().

◆ size()

template<typename T >
constexpr size_t Aleph::Array< T >::size ( ) const
inlineconstexprnoexcept

Return the number of elements stored in the stack.

Examples
dp_optimizations_example.cc, knapsack_example.cc, lis_example.cc, matrix_chain_example.cc, and subset_sum_example.cc.

Definition at line 351 of file tpl_array.H.

References Aleph::Array< T >::array.

Referenced by Aleph::blossom_detail::Edmonds_Blossom_Matcher< GT, SA >::Edmonds_Blossom_Matcher(), KnapsackDomain::KnapsackDomain(), LFit::LFit(), Aleph::FFT< Real >::OverlapAdd::OverlapAdd(), Aleph::FFT< Real >::OverlapAddBank::OverlapAddBank(), Aleph::FFT< Real >::OverlapSave::OverlapSave(), Aleph::FFT< Real >::PartitionedConvolver::PartitionedConvolver(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::~Gen_Link_Cut_Tree(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::_decode_grid_point(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::_eval_monomial(), Aleph::FFT< Real >::ISTFTProcessor::accumulate_frame(), Aleph::Two_Sat< GT >::add_at_most_one(), Aleph::multi_poly_detail::add_indices(), Aleph::Convex_Hull_Trick< T >::add_line(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::add_oriented_edge(), Aleph::Aho_Corasick::add_pattern(), Aleph::FFT< Real >::add_scaled_polynomial(), Aleph::RegularTriangulationBowyerWatson::all_collinear(), Aleph::FFT< Real >::analytic_phase_delay_impl(), Aleph::FFT< Real >::analytic_sos_group_delay_impl(), Aleph::FFT< Real >::append_all(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::append_copy_range(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::append_copy_range(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::append_move_range(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::append_move_range(), Aleph::FFT< Real >::STFTProcessor::append_samples(), Aleph::FFT< Real >::apply_blackman_window(), Aleph::FFT< Real >::apply_blackman_window(), Aleph::NTT< MOD, ROOT >::Plan::apply_bluestein_transform(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::apply_current_cache_to_storage(), Aleph::FFT< Real >::apply_hamming_window(), Aleph::FFT< Real >::apply_hamming_window(), Aleph::FFT< Real >::apply_hann_window(), Aleph::FFT< Real >::apply_hann_window(), Aleph::FFT< Real >::Plan::apply_transform(), Aleph::NTT< MOD, ROOT >::Plan::apply_transform(), Aleph::FFT< Real >::apply_window(), Aleph::FFT< Real >::apply_window(), Aleph::array_to_DynArray(), Aleph::CsvRow::at(), Aleph::FFT< Real >::axis_base_offsets(), benchmark_contiguous_array(), Aleph::FFT< Real >::bessel_prototype(), Aleph::NTT< MOD, ROOT >::bigint_multiply(), Aleph::FFT< Real >::bilinear_substitute_polynomial(), KnapsackDomain::bound(), Aleph::boyer_moore_horspool_search(), brute_distance_squared(), Aleph::bucket_sort(), Aleph::bucket_sort(), Aleph::Aho_Corasick::build(), K2Tree< T >::build(), Aleph::AABBTree::build(), Aleph::blossom_detail::Edmonds_Blossom_Matcher< GT, SA >::build_adjacency(), Aleph::PolygonOffset::build_augmented(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::build_combinatorial_embedding_linear_lr(), Aleph::Gen_Heavy_Light_Decomposition< GT, SA >::build_decomposition(), Aleph::MonotonePolygonTriangulation::build_faces_from_diagonals(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::build_nonplanar_certificate(), Aleph::tree_dp_detail::Tree_Topology< GT, SA >::build_order(), Aleph::FFT< Real >::OverlapSave::build_segment_spectrum(), Aleph::FFT< Real >::OverlapAddBank::build_signal_block(), Aleph::ShortestPathInPolygon::build_tris(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::build_underlying_simple_graph(), Aleph::FFT< Real >::build_weighted_frequency_grid(), Aleph::ConvexPolygonDecomposition::can_merge(), Aleph::ConvexPolygonDistanceGJK::centroid_of(), Aleph::FFT< Real >::chebyshev1_prototype(), Aleph::FFT< Real >::chebyshev2_prototype(), Aleph::FFT< Real >::choose_remez_extrema(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::classify_k33(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::classify_k5(), Aleph::MonotonePolygonTriangulation::classify_vertex(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::clear_dirty_state(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::clear_dirty_state(), Aleph::FFT< Real >::OverlapSave::clear_history(), Aleph::FFT< Real >::OverlapAdd::clear_overlap(), Aleph::FFT< Real >::PartitionedConvolver::clear_state(), Aleph::VoronoiDiagramFromDelaunay::clipped_cells(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::collect_keys(), Aleph::Alpha_Beta< Domain >::collect_ordered_moves(), Aleph::Branch_And_Bound< Domain, ObjectivePolicy >::collect_ordered_moves(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::compute_faces_from_rotation(), Aleph::PolygonOffset::compute_raw_offset(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::contains_in(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::contains_in(), Aleph::FFT< Real >::OverlapAddBank::convolve_impl(), Aleph::FFT< Real >::OverlapAdd::convolve_impl(), Aleph::counting_sort_indices(), Aleph::csv_distinct(), Aleph::csv_filter_by_value(), Aleph::csv_find_by_value(), Aleph::csv_join_horizontal(), Aleph::csv_num_columns(), Aleph::csv_read_all(), Aleph::csv_read_row(), Aleph::csv_sort_by_column_numeric(), Aleph::csv_transpose(), Aleph::csv_unique(), Aleph::csv_write_row(), Aleph::KDTreePointSearch::debug_snapshot(), Aleph::MonotonePolygonTriangulation::decompose_to_monotone_faces(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::degree_in(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::destroy_vertex(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::dirty_page_count(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::dirty_page_count(), Aleph::FFT< Real >::ISTFTProcessor::drain_ready_samples(), Aleph::MinkowskiSumConvex::edge_vec(), Aleph::FFT< Real >::elliptic_prototype(), Aleph::FFT< Real >::STFTProcessor::emit_ready_frames(), Aleph::CsvRow::empty(), Aleph::FFT< Real >::enforce_conjugate_symmetry(), Aleph::FFT< Real >::ISTFTProcessor::ensure_pending_size(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::erase_at(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::erase_at(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::eval(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::eval_gradient(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::eval_hessian(), Aleph::multi_poly_detail::eval_monomial(), Aleph::FFT< Real >::evaluate_transfer_at(), Aleph::FFT< Real >::evaluate_transfer_terms_at(), Aleph::test_helpers::expect_array_eq(), export_cells_csv(), Aleph::Gen_Link_Cut_Tree_WithEdges< VT, ET, EdgeMonoid, LazyTag >::export_to_tree_node(), Aleph::multi_poly_detail::extend_index(), Aleph::PolygonOffset::extract_contours(), Aleph::subset_sum_detail::extract_values_checked(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::fill_certificate_paths(), Aleph::FFT< Real >::filtfilt(), Aleph::blossom_detail::Edmonds_Blossom_Matcher< GT, SA >::find_augmenting_path(), Aleph::Naive_Suffix_Tree::find_child_by_first_char(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::find_in_array(), Aleph::ConvexPolygonDecomposition::find_pos(), find_site(), Aleph::ShortestPathInPolygon::find_sleeve(), Aleph::FFT< Real >::firls_impl(), Aleph::FFT< Real >::firwin_bandstop(), Aleph::FFT< Real >::firwin_highpass(), Aleph::FFT< Real >::firwin_lowpass_impl(), Aleph::multi_poly_detail::flat_to_multi_index(), Aleph::FFT< Real >::OverlapSave::flush(), Aleph::FFT< Real >::PartitionedConvolver::flush(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::for_each_node(), Aleph::GeomTriangleAdjacencyUtils::for_each_sorted_edge_group(), KnapsackDomain::for_each_successor(), Aleph::FFT< Real >::frame_signal(), Aleph::FFT< Real >::STFTProcessor::frame_size(), Aleph::FFT< Real >::ISTFTProcessor::frame_size(), Aleph::FFT< Real >::gain_margin_impl(), Aleph::FFT< Real >::gain_margin_refined_impl(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::generate_permutations(), Aleph::BooleanPolygonOperations::greiner_hormann(), Aleph::FFT< Real >::group_center(), Aleph::FFT< Real >::group_delay_impl(), Aleph::CsvRow::has_column(), Aleph::FFT< Real >::has_near_pole_zero_cancellation(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::has_pending_changes(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::has_pending_changes(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::ideal_product(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::ideal_sum(), Aleph::FFT< Real >::iir_filter_impl(), Aleph::FFT< Real >::iir_filtfilt_impl(), Aleph::FFT< Real >::iir_steady_state(), Aleph::VoronoiDiagramFromDelaunay::indexed_clipped_cells(), Aleph::FFT< Real >::LFilter::initialize_state(), Aleph::FFT< Real >::SOSFilter::initialize_states(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::insert_at(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::insert_at(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::interpolate(), Aleph::NTT< MOD, ROOT >::interpolate(), Aleph::introsort(), Aleph::FFT< Real >::Plan::inverse_transform_real(), Aleph::FFT< Real >::inverse_transform_real_optimized_impl(), Aleph::ConvexPolygonOffset::inward(), KnapsackDomain::is_complete(), Aleph::ConvexPolygonOffset::is_convex(), Aleph::MonotonePolygonTriangulation::is_y_monotone(), Aleph::FFT< Real >::istft_impl(), Aleph::knapsack_01_value(), Aleph::blossom_detail::Edmonds_Blossom_Matcher< GT, SA >::lca(), Aleph::multi_poly_detail::lcm_indices(), Aleph::lcp_array_kasai(), Aleph::levenshtein_distance(), Aleph::lis_length(), Aleph::DelaunayTriangulationRandomizedIncremental::locate(), Aleph::longest_increasing_subsequence(), Aleph::longest_nondecreasing_subsequence(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::lower_bound(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::lower_bound(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::lower_bound_index(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::lower_bound_index(), Aleph::RangeTree2D::lower_bound_y(), main(), main(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingContext< WeightType >::make_blossom(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::make_edge_witness(), Aleph::TrapezoidalMapPointLocation::make_trapezoid(), Aleph::ConstrainedDelaunayTriangulation::map_constraints(), Aleph::FFT< Real >::matrix_shape(), Aleph::ConvexPolygonDecomposition::merge_faces(), Aleph::min_weighted_squared_distance_1d(), Aleph::monotone_queue_min_dp(), Aleph::multi_poly_detail::multi_to_flat_index(), Aleph::NTT< MOD, ROOT >::multiply(), Aleph::FFT< Real >::multiply_complex_impl(), Aleph::NTT< MOD, ROOT >::Plan::multiply_impl(), Aleph::FFT< Real >::multiply_real_optimized(), Aleph::NTT< MOD, ROOT >::multipoint_eval(), Aleph::NTT< MOD, ROOT >::multipoint_eval_recursive(), Aleph::ModularCombinatorics::nCk(), Aleph::NTT< MOD, ROOT >::negacyclic_multiply(), Aleph::nonplanar_certificate_to_json(), Aleph::MinkowskiSumConvex::normalize(), Aleph::FFT< Real >::normalize_fir_at_omega(), Aleph::FFT< Real >::ISTFTProcessor::normalize_prefix(), Aleph::FFT< Real >::normalize_tensor_layout(), Aleph::FFT< Real >::one_sided_frequency_grid(), Aleph::TrapezoidalMapPointLocation::operator()(), Aleph::SweepLineSegmentIntersection::operator()(), Aleph::SegmentArrangement::operator()(), Aleph::PowerDiagram::operator()(), Aleph::DelaunayTriangulationRandomizedIncremental::operator()(), Aleph::AndrewMonotonicChainConvexHull::operator()(), Aleph::GrahamScanConvexHull::operator()(), Aleph::MinkowskiSumConvex::operator()(), Aleph::ConvexPolygonDecomposition::operator()(), Aleph::ShortestPathInPolygon::operator()(), Aleph::MonotonePolygonTriangulation::operator()(), Aleph::CsvRow::operator[](), Aleph::FFT< Real >::LFilter::order(), Aleph::ConvexPolygonOffset::outward(), Aleph::FFT< Real >::overlap_add_frames(), Aleph::FFT< Real >::overlap_profile(), Aleph::FFT< Real >::OverlapAdd::overlap_size(), Aleph::FFT< Real >::OverlapAddBank::overlap_size(), Aleph::FFT< Real >::OverlapSave::overlap_size(), Aleph::FFT< Real >::OverlapSave::padded_chunk_copy(), Aleph::FFT< Real >::PartitionedConvolver::padded_partition(), Aleph::Aho_Corasick::pattern(), Aleph::Aho_Corasick::pattern_count(), Aleph::NTT< MOD, ROOT >::pbigint_multiply(), Aleph::FFT< Real >::pfiltfilt(), Aleph::FFT< Real >::phase_delay(), Aleph::FFT< Real >::phase_delay_impl(), Aleph::FFT< Real >::phase_margin_impl(), Aleph::FFT< Real >::phase_margin_refined_impl(), Aleph::FFT< Real >::Plan::pinverse_transform_real(), Aleph::planar_dual_metadata(), Aleph::planar_geometric_drawing(), Aleph::NTT< MOD, ROOT >::pmultiply(), Aleph::BooleanPolygonOperations::point_inside_ccw(), Aleph::FFT< Real >::pole_zero_pairs_impl(), Aleph::NTT< MOD, ROOT >::poly_add_series(), Aleph::NTT< MOD, ROOT >::poly_derivative(), Aleph::NTT< MOD, ROOT >::poly_divmod(), Aleph::NTT< MOD, ROOT >::poly_eval(), Aleph::NTT< MOD, ROOT >::poly_integral(), Aleph::NTT< MOD, ROOT >::poly_sub_series(), polygon_area(), Aleph::polygon_from_vertex_indices(), Aleph::polygon_from_vertices(), Aleph::FFT< Real >::polynomial_from_roots_complex(), Aleph::FFT< Real >::polynomial_roots_impl(), Aleph::FFT< Real >::OverlapAddBank::pprocess_block(), Aleph::FFT< Real >::OverlapAdd::pprocess_block(), Aleph::NTT< MOD, ROOT >::prefix_copy(), Aleph::FFT< Real >::prepare_welch_frames(), Aleph::adversarial_search_detail::prepend_move(), Aleph::FFT< Real >::Plan::prfft(), Aleph::FFT< Real >::OverlapAddBank::process_block(), Aleph::FFT< Real >::OverlapAdd::process_block(), Aleph::FFT< Real >::OverlapSave::process_block(), Aleph::FFT< Real >::PartitionedConvolver::process_block(), Aleph::FFT< Real >::OverlapAdd::process_chunk_impl(), Aleph::FFT< Real >::OverlapSave::process_chunk_impl(), Aleph::FFT< Real >::ISTFTProcessor::process_frame_impl(), Aleph::FFT< Real >::PartitionedConvolver::process_partition_impl(), Aleph::NTT< MOD, ROOT >::ptransform(), Aleph::put_line_sweep_result(), Aleph::put_path(), Aleph::put_portals(), Aleph::rabin_karp_search(), Aleph::random_select(), Aleph::FFT< Real >::real_polynomial_from_roots(), Aleph::FFT< Real >::reflect_pad_signal(), Aleph::MonotonePolygonTriangulation::regular_interior_right(), Aleph::FFT< Real >::remez_impl(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::remove_from(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::remove_from(), Aleph::FFT< Real >::resample_poly(), Aleph::FFT< Real >::LFilter::reset(), Aleph::FFT< Real >::resolve_irfft_signal_size(), Aleph::Array< T >::reverse(), Aleph::BooleanPolygonOperations::reverse_array(), Aleph::FFT< Real >::Plan::rfft(), Aleph::FFT< Real >::root_groups_impl(), Aleph::FFT< Real >::row_major_strides(), Aleph::k_shortest_paths_detail::same_prefix_nodes(), Aleph::Aho_Corasick::search(), Aleph::FFT< Real >::section_from_coefficients(), Aleph::FFT< Real >::LFilter::set_state(), Aleph::VisvalingamWhyattSimplification::simplify_polygon(), Aleph::CsvRow::size(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::size(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::Iterator::skip_past_end(), Aleph::blossom_detail::Edmonds_Blossom_Matcher< GT, SA >::solve(), Aleph::Two_Sat< GT >::solve(), Aleph::FFT< Real >::solve_dense_system(), Aleph::FFT< Real >::solve_remez_cosine_series(), Aleph::PolygonOffset::sort_by_alpha(), Aleph::BooleanPolygonOperations::sort_indices_by_alpha(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::sort_size_t_array(), Aleph::AndrewMonotonicChainConvexHull::sorted_unique_points(), Aleph::GrahamScanConvexHull::sorted_unique_points(), Aleph::FFT< Real >::sos_filtfilt_impl(), Aleph::TrapezoidalMapPointLocation::split_multiple_trapezoids(), Aleph::TrapezoidalMapPointLocation::split_single_trapezoid(), Aleph::detail::spp_build_tris(), Aleph::detail::spp_find_sleeve(), Aleph::FFT< Real >::SOSFilter::state(), Aleph::FFT< Real >::stft_impl(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::strictly_sorted(), Aleph::multi_poly_detail::sub_indices(), Aleph::subset_sum(), Aleph::subset_sum_count(), Aleph::subset_sum_exists(), Aleph::subset_sum_mitm(), Aleph::suffix_array(), Aleph::ConvexPolygonDistanceGJK::support(), Aleph::FFT< Real >::tensor3_shape(), Aleph::FFT< Real >::tensor_element_count(), Aleph::FFT< Real >::tensor_max_offset(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), 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(), Aleph::timsort(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::to_json(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::to_str(), Aleph::FFT< Real >::transfer_function_to_sections(), Aleph::NTT< MOD, ROOT >::transform(), Aleph::FFT< Real >::transform_any_size_impl(), Aleph::FFT< Real >::transform_axis_impl(), Aleph::FFT< Real >::transform_impl(), Aleph::FFT< Real >::transform_real_optimized(), Aleph::transpose(), Aleph::FFT< Real >::transpose_spectrogram_layout_impl(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::tree_size(), Aleph::GeomBowyerWatsonUtils::triangulate(), Aleph::VoronoiDiagramFortune::triangulate_sweep(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::truncate(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::truncate(), Aleph::FFT< Real >::try_aberth_ehrlich_roots(), Aleph::FFT< Real >::try_durand_kerner_roots(), Aleph::KDTreePointSearch::unique_points(), Aleph::FFT< Real >::unwrap_phase(), Aleph::FFT< Real >::OverlapSave::update_history(), Aleph::FFT< Real >::upfirdn(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::upper_bound(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::upper_bound(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::upper_bound_index(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::upper_bound_index(), Aleph::RangeTree2D::upper_bound_y(), Aleph::NTT< MOD, ROOT >::validate_distinct_points(), Aleph::NTTExact::validate_inputs(), Aleph::FFT< Real >::validate_no_near_pole_zero_cancellation(), Aleph::validate_nonplanar_certificate(), Aleph::FFT< Real >::validate_stable(), Aleph::FFT< Real >::validate_stft_options(), Aleph::Gen_B_Tree< Key, Compare, MinDegree >::verify_node(), Aleph::Gen_BPlus_Tree< Key, Compare, MinDegree >::verify_node(), Aleph::FFT< Real >::window_coherent_gain(), Aleph::FFT< Real >::window_enbw(), Aleph::Gen_File_B_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path(), Aleph::Gen_File_BPlus_Tree< Key, Compare, MinDegree, Codec >::write_wal_to_path(), Aleph::z_algorithm(), Aleph::z_search(), Aleph::FFT< Real >::zero_pad_edges(), Aleph::FFT< Real >::zero_padded_copy(), and Aleph::FFT< Real >::zero_padded_copy().

◆ swap()

◆ to_array()

template<typename T >
Array Aleph::Array< T >::to_array ( ) const
inline

Copy to Aleph::Array (requires copyable elements).

Definition at line 460 of file tpl_array.H.

Referenced by Aleph::Two_Sat< GT >::add_at_most_one().

◆ traverse() [1/4]

template<typename T >
template<class Operation >
bool Aleph::Array< T >::traverse ( Operation &&  operation = Operation())
inline

◆ traverse() [2/4]

template<typename T >
template<class Operation >
bool Aleph::Array< T >::traverse ( Operation &&  operation = Operation()) const
inline

◆ traverse() [3/4]

template<typename T >
template<class Operation >
Aleph::Array< T >::traverse ( Operation operation)
inline

Traverse all the items of the stack from the youngest to the oldest and conditionally performs an operation.

Parameters
[in]operationto perform on the current element. If it returns true, then the traversal continues to the next item; otherwise the traversal stops

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 431 of file tpl_array.H.

References Aleph::Array< T >::array, and Aleph::divide_and_conquer_partition_dp().

◆ traverse() [4/4]

template<typename T >
template<class Operation >
bool Aleph::Array< T >::traverse ( Operation operation) const
inline

Member Data Documentation

◆ array


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