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)
 
Array & operator= (const Array &s)
 Assign by copy s to this
 
void swap (Array &s) noexcept
 Swap this with s
 
Array & operator= (Array &&s) noexcept
 Assign by moving s to this
 
T & append (const T &data)
 Append a copy of data
 
T & append (T &&data)
 Append data
 
Array & append (const Array &a)
 
Array append (const Array &a) const
 
T & insert (const T &data)
 insert a copy of data at the beginning of the array.
 
T & insert (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.
 
T & base ()
 Return a reference to the first element of array.
 
const T & base () 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.
 
T & get_first () noexcept
 return a modifiable reference to the first element.
 
const T & get_first () const noexcept
 return a constant reference to the first element.
 
T & get_last () noexcept
 return a modifiable reference to the last element.
 
const T & get_last () const noexcept
 return a constant reference to the last element.
 
T remove_last ()
 
T remove_first ()
 
T & operator[] (size_t i)
 Return a reference to the ith element.
 
const T & operator[] (size_t i) const
 Return a constant reference to the ith element.
 
constexpr T & operator() (const size_t i) noexcept
 Return a reference to the ith element. It does not perform bound_statics checks.
 
constexpr const T & operator() (const size_t i) const noexcept
 Return a constant reference to the ith element. It does not perform bound_statics checks.
 
Array & reverse ()
 Reverse the order of items in this array, in place.
 
Array reverse () const
 Return a copy of this array with its items reversed.
 
Array & reverse_in_place ()
 Alias for reverse().
 
Array & rev ()
 Reverse this array in place.
 
Array rev () const
 Alias for reverse() const.
 
template<class Op >
requires std::predicate<Op &, T &>
bool traverse (Op &op)
 Traverse mutable elements from first to last.
 
template<class Op >
requires std::predicate<Op &, const T &>
bool traverse (Op &op) const
 Traverse const elements from first to last.
 
template<class Op >
requires std::predicate<Op &, T &>
bool traverse (Op &&op)
 Traverse mutable elements with a temporary operation.
 
template<class Op >
requires std::predicate<Op &, const T &>
bool traverse (Op &&op) const
 Traverse const elements with a temporary 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
 
Aleph::DynList< __T > maps_if (Prop prop, Operation &&op) const
 
Aleph::DynList< __T > map (Operation &op) const
 Synonym of maps().
 
Aleph::DynList< __T > map (Operation &&op) const
 Overload of map() that accepts rvalues.
 
Aleph::DynList< __T > map_if (Prop prop, Operation &op) const
 
Aleph::DynList< __T > map_if (Prop prop, Operation &&op) const
 
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.
 
T fold (const T &init, Operation &operation) const
 Simplified version of foldl() where the folded type is the same type of elements stored in the container.
 
T fold (const T &init, Operation &&operation) const
 Overload of fold() 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< T > array
 

Additional Inherited Members

- Public Attributes inherited from FunctionalMethods< Array< T >, T >
 and
 Conditional mapping of the elements of the container.
 

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:138
size_t blossom_maximum_cardinality_matching(const GT &g, DynDlist< typename GT::Arc * > &matching, SA sa=SA())
Alias of compute_maximum_cardinality_general_matching().
Definition Blossom.H:466
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
blossom_example.cc, 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 133 of file tpl_array.H.

Member Typedef Documentation

◆ Item_Type

Definition at line 142 of file tpl_array.H.

◆ Key_Type

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

The type of element.

Definition at line 143 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 146 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 164 of file tpl_array.H.

References Aleph::Array< T >::array, and value.

◆ Array() [3/9]

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

Copy constructor.

Definition at line 204 of file tpl_array.H.

◆ Array() [4/9]

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

Move constructor.

Definition at line 211 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 215 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 215 of file tpl_array.H.

◆ Array() [7/9]

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

Definition at line 215 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 217 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 217 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 267 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
blossom_example.cc, and dp_optimizations_example.cc.

Definition at line 250 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::CA::Directory_Frame_Sink::accept(), 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::Tikz_Plane::collect_legend_entries(), 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::PolygonOffset::compute_raw_offset(), Aleph::compute_shortest_path_funnel_trace(), Aleph::compute_stats(), 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::Tikz_Plane::draw_polygon(), Aleph::Tikz_Plane::draw_rectangle(), Aleph::Tikz_Plane::draw_regular_polygon(), Aleph::Tikz_Plane::draw_segment(), Aleph::Tikz_Plane::draw_triangle(), Aleph::dynarray_to_Array(), Aleph::FFT< Real >::STFTProcessor::emit_ready_frames(), Aleph::CA::Hashlife_Engine::empty_node(), Aleph::FFT< Real >::ISTFTProcessor::ensure_pending_size(), Aleph::subset_sum_detail::enumerate_sums(), Aleph::RadixTree< T, Char >::erase(), 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::CA::ca_io_detail::finalise_absolute_pattern(), Aleph::TrapezoidalMapPointLocation::find_crossed_trapezoids(), Aleph::ShortestPathInPolygon::find_sleeve(), Aleph::CA::ca_gif_detail::Bit_Writer::finish(), Aleph::FFT< Real >::firls_impl(), 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::PersistentHashMap< Key, T, Cmp >::insert_impl(), 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(), make_array(), Aleph::blossom_weighted_detail::mwmatching::impl::MatchingContext< WeightType >::make_blossom(), Aleph::CA::make_grid_graph_adjacency(), Aleph::Gen_Link_Cut_Tree< T, Monoid, LazyTag >::make_path(), Aleph::CA::make_path_graph_adjacency(), 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::PersistentHashMap< Key, T, Cmp >::merge_leaves(), 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::CA::Density_Observer< State >::on_step_begin(), Aleph::CA::Entropy_Observer< MaxState >::on_step_begin(), Aleph::CA::Sampling_Observer< Lattice >::on_step_begin(), Aleph::CA::Density_Observer< State >::on_step_end(), Aleph::CA::Activity_Observer< Lattice >::on_step_end(), Aleph::CA::Entropy_Observer< MaxState >::on_step_end(), Aleph::CA::Sampling_Observer< Lattice >::on_step_end(), 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::percentile(), 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::CA::Stationary_Detector::push(), Aleph::RTree< Payload, MaxEntries, MinEntries, Variant >::quadratic_split(), Aleph::sort_utils_detail::radix_sort_impl(), Aleph::sort_utils_detail::radix_sort_impl(), Aleph::CA::read_life_105(), Aleph::CA::read_life_106(), Aleph::CA::read_plaintext(), Aleph::CA::read_rle(), 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(), Aleph::RTree< Payload, MaxEntries, MinEntries, Variant >::search_contains(), 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::CA::Graph_Synchronous_Engine< Lattice, Rule >::step(), 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(), 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(), Aleph::vector_to_Array(), and Aleph::CA::ca_gif_detail::Bit_Writer::write().

◆ 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 262 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 326 of file tpl_array.H.

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

Referenced by LFit::LFit(), Aleph::CA::ca_png_detail::write_chunk(), and Aleph::CA::ca_gif_detail::write_subblocks().

◆ 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 371 of file tpl_array.H.

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

◆ clear()

◆ 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:196

Definition at line 196 of file tpl_array.H.

References Aleph::blossom_maximum_cardinality_matching().

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::build_index(), Aleph::build_index_ptr(), Aleph::build_index_ptr(), 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::Tikz_Plane::draw(), 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::solve_assignment(), Aleph::FFT< Real >::solve_dense_system(), Aleph::FFT< Real >::solve_remez_cosine_series(), Aleph::stable_build_index(), Aleph::stable_build_index_ptr(), Aleph::stable_build_index_ptr(), 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 385 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 399 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 286 of file tpl_array.H.

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

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

◆ 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 298 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 359 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::NTT< MOD, ROOT >::bigint_multiply(), 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::Tikz_Plane::draw_legend(), Aleph::Tikz_Plane::draw_polyline(), Aleph::FFT< Real >::STFTProcessor::emit_ready_frames(), Aleph::RadixTree< T, Char >::erase(), Aleph::planarity_detail::LR_Planarity_Checker< GT, SA >::fails_component_euler_bound(), Aleph::FFT< Real >::filtfilt(), Aleph::FFT< Real >::firls_impl(), 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::CA::Stationary_Detector::on_step_begin(), 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::NTT< MOD, ROOT >::pbigint_multiply(), 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_multiply(), Aleph::FFT< Real >::polynomial_power(), Aleph::FFT< Real >::poverlap_add_convolution(), Aleph::FFT< Real >::poverlap_add_convolution_batch(), Aleph::FFT< Real >::prepare_welch_frames(), 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(), TEST(), 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(), Aleph::FFT< Real >::window_energy(), and Aleph::CA::ca_png_detail::write_chunk().

◆ is_valid()

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

Definition at line 591 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 435 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 429 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 238 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 220 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 416 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 423 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 310 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(), Aleph::Gen_Polynomial< Coefficient >::interpolate(), Aleph::lazy_combinations(), and Aleph::merge().

◆ remove_first()

◆ remove_last()

template<typename T >
T Aleph::Array< T >::remove_last ( )
inline

◆ 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
Examples
blossom_example.cc.

Definition at line 320 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::CA::Graph_Synchronous_Engine< Lattice, Rule >::Graph_Synchronous_Engine(), 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::CA::ca_gif_detail::build_palette(), 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::RTree< Payload, MaxEntries, MinEntries, Variant >::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::Tikz_Plane::draw_line_eq(), Aleph::Tikz_Plane::draw_polygon(), Aleph::Tikz_Plane::draw_rectangle(), Aleph::Tikz_Plane::draw_regular_polygon(), 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::PersistentHashMap< Key, T, Cmp >::erase_impl(), 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::CA::ca_io_detail::finalise_absolute_pattern(), Aleph::ShortestPathInPolygon::find_sleeve(), Aleph::FFT< Real >::firls_impl(), Aleph::Rope< Char, LeafSize >::flatten(), 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::PersistentHashMap< Key, T, Cmp >::insert_impl(), Aleph::Modular_Matrix< MatrixT >::inverse(), Aleph::ConvexPolygonOffset::inward(), Aleph::PersistentHashMap< Key, T, Cmp >::items(), Aleph::PersistentTreapMap< Key, T, Compare >::items(), 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::PatriciaSet< UInt >::keys(), Aleph::PatriciaMap< UInt, T >::keys(), Aleph::PersistentHashMap< Key, T, Cmp >::keys(), Aleph::PersistentTreapSet< Key, Compare >::keys(), Aleph::PersistentTreapMap< Key, T, Compare >::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::PersistentHashMap< Key, T, Cmp >::merge_leaves(), 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::Rope< Char, LeafSize >::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::DynArray< T >::reserve(), 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(), TEST_F(), Aleph::DynArray< T >::to_array(), Aleph::PersistentVector< 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::CA::ca_png_detail::write_chunk(), Aleph::yen_k_shortest_paths(), Aleph::FFT< Real >::zero_pad_edges(), Aleph::FFT< Real >::zero_padded_copy(), Aleph::FFT< Real >::zero_padded_copy(), and Aleph::CA::ca_png_detail::zlib_store().

◆ rev() [1/2]

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

Reverse this array in place.

Returns
A reference to *this, already reversed.
Exceptions
Anyexception thrown by swapping elements.
Note
Complexity: O(n). If a swap throws, some elements may already have changed positions.
See also
reverse()

Definition at line 492 of file tpl_array.H.

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

◆ rev() [2/2]

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

Alias for reverse() const.

Returns a reversed copy.

*this is left unmodified.

Returns
A new Array holding the elements of *this in reverse order.
Exceptions
Anyexception thrown by allocation or copying elements.
Note
Complexity: O(n). *this remains unchanged if the operation throws.
See also
reverse() const

Definition at line 506 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 this array, in place.

Returns
A reference to *this, already reversed.
Note
Complexity: O(n).
Exceptions
Anyexception thrown by swapping elements. If a swap throws, some elements may already have changed positions.

Definition at line 447 of file tpl_array.H.

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

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

◆ reverse() [2/2]

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

Return a copy of this array with its items reversed.

*this is left unmodified.

Returns
A new Array holding the elements of *this in reverse order.
Note
Complexity: O(n).
Exceptions
Anyexception thrown by allocation or copying elements.
Note
*this remains unchanged if the operation throws.

Definition at line 462 of file tpl_array.H.

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

◆ reverse_in_place()

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

Alias for reverse().

Reverses this array in place.

Returns
A reference to *this, already reversed.
Exceptions
Anyexception thrown by swapping elements.
Note
Complexity: O(n). If a swap throws, some elements may already have changed positions.
See also
reverse()

Definition at line 479 of file tpl_array.H.

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

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

◆ 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 365 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::CA::ca_png_detail::adler32(), 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::Tikz_Scene::append_unique_libraries(), 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::CA::Stationary_Detector::buffered_hashes(), 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::build_index(), Aleph::build_index_ptr(), Aleph::build_index_ptr(), 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::PolygonOffset::cleanup(), 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::PersistentHashMap< Key, T, Cmp >::collision_keys_are_unique(), 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_join_horizontal(), Aleph::csv_sort_by_column_numeric(), Aleph::csv_transpose(), Aleph::csv_unique(), Aleph::KDTreePointSearch::debug_snapshot(), Aleph::MonotonePolygonTriangulation::decompose_to_monotone_faces(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::degree_in(), Aleph::CA::Density_Observer< State >::density_at(), 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::Tikz_Plane::draw_legend(), Aleph::Tikz_Plane::draw_polyline(), Aleph::MinkowskiSumConvex::edge_vec(), Aleph::FFT< Real >::elliptic_prototype(), Aleph::FFT< Real >::STFTProcessor::emit_ready_frames(), Aleph::CsvRow::empty(), Aleph::CA::Hashlife_Engine::empty_node(), 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(), Aleph::PolygonOffset::find_self_intersections(), 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::Gen_MultiPolynomial< Coefficient, MonomOrder >::fit_weighted(), 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::knapsack_bounded(), Aleph::lazy_combinations(), 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::merge(), 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::CA::Stationary_Detector::on_step_end(), Aleph::FFT< Real >::one_sided_frequency_grid(), Aleph::DouglasPeuckerSimplification::operator()(), 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::PolygonOffset::operator()(), Aleph::ShortestPathInPolygon::operator()(), Aleph::MonotonePolygonTriangulation::operator()(), Aleph::CsvRow::operator[](), Aleph::optimal_merge_knuth(), 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_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_normalized(), 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_normalized(), 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_multiply(), 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::CA::Stationary_Detector::push(), Aleph::put_line_sweep_result(), Aleph::put_path(), Aleph::put_portals(), Aleph::RTree< Payload, MaxEntries, MinEntries, Variant >::quadratic_split(), 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::RTree< Payload, MaxEntries, MinEntries, Variant >::rstar_split(), Aleph::k_shortest_paths_detail::same_prefix_nodes(), Aleph::FFT< Real >::scatter_axis_slice(), Aleph::Aho_Corasick::search(), Aleph::FFT< Real >::section_from_coefficients(), Aleph::FFT< Real >::LFilter::set_state(), Aleph::VisvalingamWhyattSimplification::simplify_polygon(), Aleph::CsvRow::size(), Aleph::CA::Gif_Frame_Sink< Mapper >::size(), Aleph::CA::Density_Observer< State >::size(), Aleph::CA::Activity_Observer< Lattice >::size(), Aleph::CA::Entropy_Observer< MaxState >::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::stable_build_index(), Aleph::stable_build_index_ptr(), Aleph::stable_build_index_ptr(), Aleph::FFT< Real >::SOSFilter::state(), Aleph::CA::Graph_Synchronous_Engine< Lattice, Rule >::step(), 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(), 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(), Aleph::timsort(), Aleph::Gen_MultiPolynomial< Coefficient, MonomOrder >::to_json(), to_sorted_vector(), 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::Array< T >::traverse(), 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::PersistentHashMap< Key, T, Cmp >::verify_rec(), Aleph::FFT< Real >::window_coherent_gain(), Aleph::FFT< Real >::window_enbw(), Aleph::CA::ca_png_detail::write_chunk(), Aleph::CA::ca_gif_detail::write_subblocks(), 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(), Aleph::FFT< Real >::zero_padded_copy(), and Aleph::CA::ca_png_detail::zlib_store().

◆ swap()

◆ to_array()

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

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

Definition at line 597 of file tpl_array.H.

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

◆ traverse() [1/4]

template<typename T >
template<class Op >
requires std::predicate<Op &, T &>
bool Aleph::Array< T >::traverse ( Op &&  op)
inline

Traverse mutable elements with a temporary operation.

Kept as a separate overload from traverse(Op &) so that callers naming the operation type explicitly, as traverse<Op>(lvalue) does in Aleph::all(), still bind to the lvalue overload.

Parameters
[in]opOperation accepting T &.
Returns
true if every element was visited; false if stopped early.
Exceptions
Anyexception thrown by op.
Note
Time: O(n) in the number of visited elements; auxiliary space: O(1).
If op throws, changes it already made to elements are not undone.
Concurrent read-only traversals are safe when op only reads. External synchronization is required if any concurrent access may modify the array.

Definition at line 567 of file tpl_array.H.

References Aleph::blossom_maximum_cardinality_matching().

◆ traverse() [2/4]

template<typename T >
template<class Op >
requires std::predicate<Op &, const T &>
bool Aleph::Array< T >::traverse ( Op &&  op) const
inline

Traverse const elements with a temporary operation.

Parameters
[in]opOperation accepting const T &.
Returns
true if every element was visited; false if stopped early.
Exceptions
Anyexception thrown by op.
Note
Time: O(n) in the number of visited elements; auxiliary space: O(1).
The traversal itself does not modify elements. Effects of op outside the array are not rolled back if it throws.
Concurrent read-only access is safe when op only reads. External synchronization is required if another thread may modify the array.

Definition at line 586 of file tpl_array.H.

References Aleph::blossom_maximum_cardinality_matching().

◆ traverse() [3/4]

template<typename T >
template<class Op >
requires std::predicate<Op &, T &>
bool Aleph::Array< T >::traverse ( Op &  op)
inline

Traverse mutable elements from first to last.

Parameters
[in]opOperation accepting T &; returning false stops traversal.
Returns
true if every element was visited; false if stopped early.
Exceptions
Anyexception thrown by op.
Note
Time: O(n) in the number of visited elements; auxiliary space: O(1).
If op throws, changes it already made to elements are not undone.
Concurrent read-only traversals are safe when op only reads. External synchronization is required if any concurrent access may modify the array.

Definition at line 524 of file tpl_array.H.

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

◆ traverse() [4/4]

template<typename T >
template<class Op >
requires std::predicate<Op &, const T &>
bool Aleph::Array< T >::traverse ( Op &  op) const
inline

Traverse const elements from first to last.

Parameters
[in]opOperation accepting const T &; returning false stops traversal.
Returns
true if every element was visited; false if stopped early.
Exceptions
Anyexception thrown by op.
Note
Time: O(n) in the number of visited elements; auxiliary space: O(1).
The traversal itself does not modify elements. Effects of op outside the array are not rolled back if it throws.
Concurrent read-only access is safe when op only reads. External synchronization is required if another thread may modify the array.

Definition at line 543 of file tpl_array.H.

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

Member Data Documentation

◆ array


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