Ocean
|
This class implements a base class for accessors allowing a constant reference access. More...
Public Types | |
typedef T | Type |
Definition of the element type of this accessor. More... | |
typedef TKey | KeyType |
Definition of the key (or e.g., index) type of this accessor. More... | |
Public Member Functions | |
virtual const T * | data () const |
Returns a pointer to the elements of this accessor if the data exists within one memory block without gaps. More... | |
virtual bool | canAccess (const TKey &key) const =0 |
Returns whether this accessor has a specific element. More... | |
virtual bool | firstElement (T &element, TKey &key) const =0 |
Returns the first element of this accessor. More... | |
virtual bool | nextElement (const TKey &previousKey, T &nextElement, TKey &nextKey) const =0 |
Returns the next element which follows a given key of the previous element. More... | |
virtual const T & | operator[] (const TKey &key) const =0 |
Returns one element of this accessor object by a given key. More... | |
Public Member Functions inherited from Ocean::Accessor | |
virtual | ~Accessor ()=default |
Default destructor. More... | |
virtual size_t | size () const =0 |
Returns the number of accessible elements of this accessor object. More... | |
bool | isEmpty () const |
Returns whether this accessor provides no elements. More... | |
Protected Member Functions | |
ConstAccessor ()=default | |
Protected default constructor. More... | |
Protected Member Functions inherited from Ocean::Accessor | |
Accessor ()=default | |
Protected default constructor. More... | |
Accessor (const Accessor &accessor)=default | |
Protected copy constructor. More... | |
Accessor & | operator= (const Accessor &accessor)=delete |
Deleted assign operator. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from Ocean::Accessor | |
template<typename TAccessor > | |
static std::vector< typename TAccessor::Type > | accessor2elements (const TAccessor &accessor) |
Returns all elements of a given accessor (as a block). More... | |
template<typename TAccessor > | |
static std::unordered_map< typename TAccessor::KeyType, typename TAccessor::Type > | accessor2map (const TAccessor &accessor) |
Returns all elements of a given accessor as a map with key and elements. More... | |
template<typename TAccessor , typename TIndex > | |
static std::vector< typename TAccessor::Type > | accessor2subsetElements (const TAccessor &accessor, const std::vector< TIndex > &subset) |
Returns a subset of all elements of a given accessor (as a block). More... | |
This class implements a base class for accessors allowing a constant reference access.
T | The data type of the elements of the accessor |
TKey | The data type of the keys of the accessor |
typedef TKey Ocean::ConstAccessor< T, TKey >::KeyType |
Definition of the key (or e.g., index) type of this accessor.
typedef T Ocean::ConstAccessor< T, TKey >::Type |
Definition of the element type of this accessor.
|
protecteddefault |
Protected default constructor.
|
pure virtual |
Returns whether this accessor has a specific element.
key | The key of the element to be checked |
Implemented in Ocean::NonconstMapAccessor< T, TKey >, Ocean::ConstMapAccessor< T, TKey >, Ocean::NonconstIndexedAccessor< T >, and Ocean::ConstIndexedAccessor< T >.
|
virtual |
Returns a pointer to the elements of this accessor if the data exists within one memory block without gaps.
Beware: There is not guarantee that the data of an accessor is stored as one memory block, thus be prepared that the resulting pointer is nullptr.
Reimplemented in Ocean::ConstArrayAccessor< T >.
|
pure virtual |
Returns the first element of this accessor.
element | The resulting first element by copying the element (by using the assign operator) |
key | The resulting key of the first element |
Implemented in Ocean::NonconstMapAccessor< T, TKey >, Ocean::ConstMapAccessor< T, TKey >, Ocean::NonconstIndexedAccessor< T >, and Ocean::ConstIndexedAccessor< T >.
|
pure virtual |
Returns the next element which follows a given key of the previous element.
previousKey | The previous key for which the next following element is requested |
nextElement | The resulting next element by copying the element (by using the assign operator) |
nextKey | The resulting key of the next element |
Implemented in Ocean::NonconstMapAccessor< T, TKey >, Ocean::ConstMapAccessor< T, TKey >, Ocean::NonconstIndexedAccessor< T >, and Ocean::ConstIndexedAccessor< T >.
|
pure virtual |
Returns one element of this accessor object by a given key.
key | The key of element to be accessed, must be valid |
Implemented in Ocean::NonconstMapAccessor< T, TKey >, Ocean::ConstMapAccessor< T, TKey >, Ocean::NonconstIndexedAccessor< T >, Ocean::ConstIndexedAccessor< T >, Ocean::ConstCallbackIndexedAccessor< T >, Ocean::ConstIndexedAccessorSubsetAccessor< T, TIndex >, Ocean::ConstArraySubsetAccessor< T, TIndex >, Ocean::ConstElementAccessor< T >, Ocean::NonconstArrayAccessor< T >, and Ocean::ConstArrayAccessor< T >.