|
typedef jau::callocator< Value_type > | allocator_type |
|
typedef const value_type * | const_iterator |
|
typedef const value_type * | const_pointer |
|
typedef const value_type & | const_reference |
|
typedef bool | darray_tag |
| Used to determine whether this type is a darray or has a darray, see ::is_darray_type<T> More...
|
|
typedef std::make_signed< size_type >::type | difference_type |
|
typedef bool(* | equal_comparator) (const value_type &a, const value_type &b) |
| Generic value_type equal comparator to be user defined for e.g. More...
|
|
typedef value_type * | iterator |
|
typedef value_type * | pointer |
|
typedef value_type & | reference |
|
typedef jau::nsize_t | size_type |
|
typedef Value_type | value_type |
|
constexpr | darray () noexcept |
| Default constructor, giving zero capacity and zero memory footprint. More...
|
|
constexpr | darray (const darray &x) |
| Creates a new instance, copying all elements from the given darray. More...
|
|
constexpr | darray (const darray &x, const float growth_factor, const allocator_type &alloc) |
| Creates a new instance, copying all elements from the given darray. More...
|
|
constexpr | darray (const darray &x, const size_type _capacity, const float growth_factor, const allocator_type &alloc) |
| Creates a new instance with custom initial storage capacity, copying all elements from the given darray. More...
|
|
constexpr | darray (const size_type _capacity, const_iterator first, const_iterator last, const float growth_factor=DEFAULT_GROWTH_FACTOR, const allocator_type &alloc=allocator_type()) |
| Creates a new instance with custom initial storage capacity, copying all elements from the given const_iterator value_type range [first, last). More...
|
|
constexpr | darray (const size_type _capacity, InputIt first, InputIt last, const float growth_factor=DEFAULT_GROWTH_FACTOR, const allocator_type &alloc=allocator_type()) |
| Creates a new instance with custom initial storage capacity, copying all elements from the given template input-iterator value_type range [first, last). More...
|
|
constexpr | darray (darray &&x) noexcept |
|
constexpr | darray (darray &&x, const float growth_factor, const allocator_type &alloc) noexcept |
|
constexpr | darray (InputIt first, InputIt last, const allocator_type &alloc=allocator_type()) |
| Creates a new instance, copying all elements from the given template input-iterator value_type range [first, last). More...
|
|
constexpr | darray (size_type capacity, const float growth_factor=DEFAULT_GROWTH_FACTOR, const allocator_type &alloc=allocator_type()) |
| Creating an empty instance with initial capacity and other (default) properties. More...
|
|
constexpr | darray (std::initializer_list< value_type > initlist, const allocator_type &alloc=allocator_type()) |
| Create a new instance from an initializer list. More...
|
|
| ~darray () noexcept |
|
constexpr void | assign (const_iterator first, const_iterator last) |
| Like std::vector::assign(), but non-template overload using const_iterator. More...
|
|
constexpr void | assign (InputIt first, InputIt last) |
| Like std::vector::assign() More...
|
|
reference | at (size_type i) |
| Like std::vector::at(size_type), mutable reference. More...
|
|
const_reference | at (size_type i) const |
| Like std::vector::at(size_type), immutable reference. More...
|
|
constexpr reference | back () |
| Like std::vector::back(), mutable access. More...
|
|
constexpr const_reference | back () const |
| Like std::vector::back(), immutable access. More...
|
|
constexpr const_iterator | begin () const noexcept |
|
constexpr iterator | begin () noexcept |
|
constexpr size_type | capacity () const noexcept |
| Return the current capacity. More...
|
|
constexpr bool | capacity_reached () const noexcept |
| Returns true if capacity has been reached and the next push_back() will grow the storage and invalidates all iterators and references. More...
|
|
constexpr const_iterator | cbegin () const noexcept |
|
constexpr const_iterator | cend () const noexcept |
|
constexpr void | clear () noexcept |
| Like std::vector::clear(), but ending with zero capacity. More...
|
|
constexpr const_pointer | data () const noexcept |
| Like std::vector::data(), const immutable pointer. More...
|
|
constexpr pointer | data () noexcept |
| Like std::vector::data(), mutable pointer. More...
|
|
constexpr iterator | emplace (const_iterator pos, Args &&... args) |
| Like std::vector::emplace(), construct a new element in place. More...
|
|
constexpr reference | emplace_back (Args &&... args) |
| Like std::vector::emplace_back(), construct a new element in place at the end(). More...
|
|
constexpr bool | empty () const noexcept |
| Like std::vector::empty(). More...
|
|
constexpr const_iterator | end () const noexcept |
|
constexpr iterator | end () noexcept |
|
constexpr iterator | erase (const size_type first_idx, const size_type last_idx) |
| Similar to std::vector::erase() using indices, removes the elements in the range [first_idx, last_idx). More...
|
|
constexpr iterator | erase (const size_type pos_idx) |
| Similar to std::vector::erase() using an index, removes the elements at pos_idx. More...
|
|
constexpr iterator | erase (const_iterator pos) |
| Like std::vector::erase(), removes the elements at pos. More...
|
|
constexpr iterator | erase (iterator first, const_iterator last) |
| Like std::vector::erase(), removes the elements in the range [first, last). More...
|
|
constexpr size_type | erase_matching (const value_type &x, const bool all_matching, equal_comparator comparator) |
| Erase either the first matching element or all matching elements. More...
|
|
constexpr reference | front () |
| Like std::vector::front(), mutable access. More...
|
|
constexpr const_reference | front () const |
| Like std::vector::front(), immutable access. More...
|
|
allocator_type | get_allocator () const noexcept |
|
const allocator_type & | get_allocator_ref () const noexcept |
|
constexpr size_type | get_grown_capacity () const noexcept |
| Return the current capacity() multiplied by the growth factor, minimum is max(capacity()+1, 10). More...
|
|
std::string | get_info () const noexcept |
|
constexpr float | growth_factor () const noexcept |
|
constexpr iterator | insert (const size_type pos_idx, const value_type &x) |
| Similar to std::vector::insert() using an index, copy. More...
|
|
constexpr iterator | insert (const_iterator pos, const value_type &x) |
| Like std::vector::insert(), copy. More...
|
|
constexpr iterator | insert (const_iterator pos, InputIt first, InputIt last) |
| Like std::vector::insert(), inserting the value_type range [first, last). More...
|
|
constexpr iterator | insert (const_iterator pos, value_type &&x) |
| Like std::vector::insert(), move. More...
|
|
constexpr size_type | max_size () const noexcept |
| Returns std::numeric_limits<difference_type>::max() as the maximum array size. More...
|
|
constexpr darray & | operator= (const darray &x) |
| Like std::vector::operator=(&), assignment. More...
|
|
constexpr darray & | operator= (darray &&x) noexcept |
| Like std::vector::operator=(&&), move. More...
|
|
const_reference | operator[] (size_type i) const noexcept |
| Like std::vector::operator[](size_type), immutable reference. More...
|
|
reference | operator[] (size_type i) noexcept |
| Like std::vector::operator[](size_type), mutable reference. More...
|
|
constexpr void | pop_back () noexcept |
| Like std::vector::pop_back(). More...
|
|
constexpr void | push_back (const value_type &x) |
| Like std::vector::push_back(), copy. More...
|
|
constexpr void | push_back (InputIt first, InputIt last) |
| Like std::vector::push_back(), but appends the value_type range [first, last). More...
|
|
constexpr void | push_back (value_type &&x) |
| Like std::vector::push_back(), move. More...
|
|
constexpr void | push_back_list (Args &&... args) |
| Like push_back(), but for more multiple r-value references to move. More...
|
|
constexpr void | push_back_list (const Args &... args) |
| Like push_back(), but for more multiple const r-value to copy. More...
|
|
constexpr bool | push_back_unique (const value_type &x, equal_comparator comparator) |
| Like std::vector::push_back(), but only if the newly added element does not yet exist. More...
|
|
constexpr void | push_front (const value_type &x) |
| Like std::vector::push_front(), copy. More...
|
|
constexpr void | push_front (value_type &&x) |
| Like std::vector::push_front(), move. More...
|
|
void | reserve (size_type new_capacity) |
| Like std::vector::reserve(), increases this instance's capacity to new_capacity . More...
|
|
constexpr void | shrink_to_fit () |
| Like std::vector::shrink_to_fit(), but ensured constexpr . More...
|
|
constexpr size_type | size () const noexcept |
| Like std::vector::size(). More...
|
|
constexpr void | swap (darray &x) noexcept |
| Like std::vector::swap(). More...
|
|
std::string | toString () const noexcept |
|
static constexpr const float | DEFAULT_GROWTH_FACTOR |
| Default growth factor using the golden ratio 1.618. More...
|
|
static constexpr const bool | uses_memmove |
|
static constexpr const bool | uses_realloc |
|
static constexpr const bool | uses_secmem |
|
template<typename
Value_type, typename Size_type = jau::nsize_t, typename Alloc_type = jau::callocator<Value_type>, bool use_memmove = std::is_trivially_copyable_v<Value_type> || is_container_memmove_compliant_v<Value_type>, bool use_secmem = is_enforcing_secmem_v<Value_type>>
class jau::darray_sorted< Value_type, Size_type, Alloc_type, use_memmove, use_secmem >
Extension to darray resulting in a sorted darray via insert().
In der hier deklarierten Template-Klasse 'darray_sorted' werden die einzelnen Listen Elemente sofort beim Einfuegen der Groesse nach sortiert ( In aufsteigender(UP)/absteigender(DOWN) Reihenfolge ). D.h. die Methode 'fuegeEin' fuegt die Listenelemente mittels Bisektionierung gleich sortiert ein.
fuegeEin liefert nun den Index zurueck, den das eingefuegte Element besitzt, ansonsten npos. die Listenelemente gleich sortiert eingefuegt werden, mittel Bisektionierung.
Neu ist die Methode findeElement, welche ebenfalls nach der MEthode der Bisektionierung arbeitet.
- Template Parameters
-
Value_type | |
Alloc_type | |
Size_type | |
use_memmove | |
use_secmem | |
Definition at line 63 of file darray_sorted.hpp.