Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
Stroika::Foundation::Containers::DataStructures Namespace Reference

Classes

class  Array
 
class  DoublyLinkedList
 
class  LinkedList
 
class  SkipList
 
class  STLContainerWrapper
 

Functions

template<typename T >
nonvirtual ForwardIterator & operator++ () noexcept
 
nonvirtual size_t CurrentIndex (const DoublyLinkedList *data) const
 
constexpr void AssertDataMatches (const DoublyLinkedList *data) const
 
template<typename T >
nonvirtual size_t CurrentIndex (const LinkedList *data) const
 
constexpr void AssertDataMatches (const LinkedList *data) const
 

Detailed Description

Note
Code-Status: Beta
 LinkedList<T,TRAITS> is a backend implementation. It is not intended to be directly

used by programmers, except in implementing concrete container reps.

TODO:

Note
Code-Status: Beta

Function Documentation

◆ operator++()

template<typename T >
nonvirtual ForwardIterator & Stroika::Foundation::Containers::DataStructures::operator++ ( )
noexcept

Just an implementation detail. Don't use directly except in helper classes. dont use block allocation for link sizes too large

◆ CurrentIndex() [1/2]

nonvirtual size_t Stroika::Foundation::Containers::DataStructures::CurrentIndex ( const DoublyLinkedList data) const
Note
Runtime performance/complexity: Average/WorseCase: O(N) - super slow cuz have to traverse on average half the list
Precondition
data == fData_ argument constructed with (or as adjusted by Move...); api takes extra param so release builds need not store fData_

◆ AssertDataMatches() [1/2]

constexpr void Stroika::Foundation::Containers::DataStructures::AssertDataMatches ( const DoublyLinkedList data) const
constexpr

For debugging, assert the iterator data matches argument data

◆ CurrentIndex() [2/2]

template<typename T >
nonvirtual size_t Stroika::Foundation::Containers::DataStructures::CurrentIndex ( const LinkedList data) const

dont use block allocation for link sizes too large

Note
Runtime performance/complexity: Average/WorseCase: O(N) - super slow cuz have to traverse on average half the list
Precondition
data == fData_ argument constructed with (or as adjusted by Move...); api takes extra param so release builds need not store fData_

◆ AssertDataMatches() [2/2]

constexpr void Stroika::Foundation::Containers::DataStructures::AssertDataMatches ( const LinkedList data) const
constexpr

For debugging, assert the iterator data matches argument data