This class implements an accessor providing direct access to an array of elements.
More...
|
| NonconstArrayAccessor ()=default |
| Creates a new empty accessor.
|
|
| NonconstArrayAccessor (NonconstArrayAccessor< T > &&accessor) noexcept |
| Move constructor.
|
|
| NonconstArrayAccessor (T *elements, const size_t size) |
| Creates a new accessor object.
|
|
| NonconstArrayAccessor (std::vector< T > &elements) |
| Creates a new accessor object.
|
|
| NonconstArrayAccessor (std::vector< T > &elements, const size_t resizeSize) |
| Creates a new accessor object.
|
|
| NonconstArrayAccessor (std::vector< T > *elements, const size_t resizeSize=0) |
| Creates a new accessor object.
|
|
virtual T * | data () |
| Returns a pointer to the elements of this accessor if the data exists within one memory block without gaps.
|
|
virtual size_t | size () const |
| Returns the number of accessible elements of this accessor object.
|
|
virtual const T & | operator[] (const size_t &index) const |
| Returns one element of this accessor object.
|
|
virtual T & | operator[] (const size_t &index) |
| Returns one element of this accessor object.
|
|
NonconstArrayAccessor< T > & | operator= (NonconstArrayAccessor< T > &&accessor) noexcept |
| Move operator.
|
|
virtual bool | canAccess (const size_t &index) const |
| Returns whether this accessor has a specific element.
|
|
virtual bool | firstElement (T &element, size_t &index) const |
| Returns the first element of this accessor.
|
|
virtual bool | nextElement (const size_t &previousIndex, T &nextElement, size_t &nextIndex) const |
| Returns the next element which follows a given key of the previous element.
|
|
NonconstIndexedAccessor< T > * | pointer () |
| Returns the pointer to this object if this accessor holds at least one element (if this accessor is not empty).
|
|
virtual const T * | data () const |
| Returns a pointer to the elements of this accessor if the data exists within one memory block without gaps.
|
|
virtual bool | canAccess (const TKey &key) const =0 |
| Returns whether this accessor has a specific element.
|
|
virtual bool | firstElement (T &element, TKey &key) const =0 |
| Returns the first element of this accessor.
|
|
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.
|
|
virtual const T & | operator[] (const TKey &key) const =0 |
| Returns one element of this accessor object by a given key.
|
|
virtual | ~Accessor ()=default |
| Default destructor.
|
|
bool | isEmpty () const |
| Returns whether this accessor provides no elements.
|
|
|
typedef T | Type |
| Definition of the element type of this accessor.
|
|
typedef TKey | KeyType |
| Definition of the key (or e.g., index) type of this accessor.
|
|
template<typename TAccessor > |
static std::vector< typename TAccessor::Type > | accessor2elements (const TAccessor &accessor) |
| Returns all elements of a given accessor (as a block).
|
|
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.
|
|
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).
|
|
| NonconstIndexedAccessor ()=default |
| Creates a new accessor object.
|
|
| NonconstAccessor ()=default |
| Creates a new indexed-based accessor object.
|
|
| ConstAccessor ()=default |
| Protected default constructor.
|
|
| Accessor ()=default |
| Protected default constructor.
|
|
| Accessor (const Accessor &accessor)=default |
| Protected copy constructor.
|
|
Accessor & | operator= (const Accessor &accessor)=delete |
| Deleted assign operator.
|
|
template<typename T>
class Ocean::NonconstArrayAccessor< T >
This class implements an accessor providing direct access to an array of elements.
An instance of this accessor does not copy the elements, thus the caller has to ensure that the actual elements exist as long as the instance of the accessor exists.
- Template Parameters
-
T | The data type of the elements of the accessor |