This class implements a base class for accessors allowing a non-constant reference access.
More...
|
virtual T * | data () |
| Returns a pointer to the elements of this accessor if the data exists within one memory block without gaps. More...
|
|
virtual T & | operator[] (const TKey &key)=0 |
| Returns one element of this accessor object by a given key. More...
|
|
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...
|
|
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...
|
|
|
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...
|
|
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...
|
|
template<typename T, typename TKey>
class Ocean::NonconstAccessor< T, TKey >
This class implements a base class for accessors allowing a non-constant reference access.
- Template Parameters
-
T | The data type of the elements of the accessor |
TKey | The data type of the keys of the accessor |
template<typename T , typename TKey >
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.
- Returns
- The pointer to the memory block of this accessor, if available
Reimplemented in Ocean::NonconstArrayAccessor< T >.