|
| | MonotoneIntegerVector (Vector vector) |
| | Take ownership of vector after validating nondecreasing order.
|
| |
|
size_type | size_impl () const |
| | Return the number of retained values.
|
| |
|
value_type | value_at_impl (size_type position) const |
| | Read one valid zero-based position without bounds checking.
|
| |
|
void | copy_to_impl (size_type begin, std::span< value_type > output) const |
| | Copy a range already validated by the public facade.
|
| |
|
size_type | memory_usage_bytes_impl () const |
| | Return inline bytes plus memory owned below the nested vector.
|
| |
|
size_type | lower_bound_index_impl (value_type x) const |
| | Return the first index whose value is at least x.
|
| |
|
size_type | upper_bound_index_impl (value_type x) const |
| | Return the first index whose value is greater than x.
|
| |
| void | serialize_impl (BinaryWriter &writer) const |
| | Write a version-1 monotone wrapper around one nested vector artifact.
|
| |
| size_type | lower_bound_index (value_type x) const |
| | Return the first index whose value is greater than or equal to x.
|
| |
| size_type | upper_bound_index (value_type x) const |
| | Return the first index whose value is greater than x.
|
| |
|
bool | contains (value_type x) const |
| | Return whether at least one element equals x.
|
| |
|
size_type | count (value_type x) const |
| | Return the number of elements equal to x.
|
| |
|
size_type | size () const |
| | Return the logical number of elements.
|
| |
|
bool | empty () const |
| | Return whether the vector has no elements.
|
| |
| value_type | operator[] (size_type position) const |
| | Read the element at zero-based position without bounds checking.
|
| |
| value_type | at (size_type position) const |
| | Read the element at zero-based position with bounds checking.
|
| |
| void | copy_to (size_type begin, std::span< value_type > output) const |
| | Copy a checked contiguous source range into output.
|
| |
| size_type | memory_usage_bytes () const |
| | Return total memory owned by this vector when supported.
|
| |
|
void | serialize (BinaryWriter &writer) const |
| | Serialize this value through its concrete implementation.
|
| |
template<class Vector>
requires requires { typename Vector::value_type; } && IntegerVectorValue<typename Vector::value_type> && std::derived_from< Vector,
IntegerVectorBase<Vector, typename Vector::value_type>>
class pixie::MonotoneIntegerVector< Vector >
Owning duplicate-preserving monotone adapter over an integer vector.
- Template Parameters
-
| Vector | Immutable integer-vector implementation owned by value. |
Public construction scans once and rejects decreasing adjacent values. The underlying vector remains private so the nondecreasing invariant cannot be invalidated. Bounds use logarithmic index-based binary search for this adapter.