Manipulations of the different storage containers are implemented here. More...
#include <map>
#include "viennadata/forwards.h"
#include "viennadata/config/object_identifier.hpp"
#include "viennadata/config/key_dispatch.hpp"
#include "viennadata/config/storage.hpp"
Go to the source code of this file.
Data Structures | |
struct | IS_ACCESS_WITHOUT_KEY_ALLOWED< KeyDispatchTag > |
Helper class: Checks for valid access without key. If no key is supplied, than full dispatch is clearly illegal. More... | |
struct | IS_ACCESS_WITHOUT_KEY_ALLOWED< type_key_dispatch_tag > |
No key is allowed when using a type based dispatch. More... | |
struct | data_type_reference< DataType, ContainerType > |
A helper metafunction that fixes problems with std::vector<bool> returning std::_bit_reference instead of bool. More... | |
struct | data_type_reference< bool, std::vector< bool > > |
struct | container_reservation_dispatcher< ContainerType, ObjectIdentificationTag, StorageTag > |
Helper class: Reserve memory based on the selected identification mechanism. Nothing needs to be done when a map container is used. More... | |
struct | container_reservation_dispatcher< ContainerType, object_provided_id, dense_data_tag > |
When used with dense data storage, the underlying vector container needs to be resized. More... | |
struct | container_key_value_pair< KeyType, DataType, KeyDispatchTag > |
Accesses the data based on the provided (KeyType, DataType) pair. More... | |
struct | container_key_value_pair< KeyType, DataType, type_key_dispatch_tag > |
Specialization of container_key_value_pair for type-based key dispatch (type_key_dispatch_tag). More... | |
struct | container_erasure_dispatcher< KeyType, DataType, ObjectIdentificationTag, KeyDispatchTag, StorageTag > |
A dispatch facility that unwraps type-erasued key-value type pairs. More... | |
struct | container_erasure_dispatcher< KeyType, DataType, ObjectIdentificationTag, type_key_dispatch_tag, StorageTag > |
Spezialization: Provides erase functionality for type-based key dispatch. More... | |
struct | container_erasure_dispatcher< KeyType, DataType, object_provided_id, KeyDispatchTag, dense_data_tag > |
For a dense data storage with vectors, delete element by resetting. More... | |
struct | container_erasure_dispatcher< KeyType, DataType, object_provided_id, type_key_dispatch_tag, dense_data_tag > |
Resolves the ambiguity erasing elements using dense storage with type-based dispatch. More... | |
struct | container_storage< KeyType, DataType, ObjectType, ObjectIdentificationTag, KeyDispatchTag, StorageTag > |
Helper class for the deduction of the correct storage type. Default case. More... | |
struct | container_storage< KeyType, DataType, ObjectType, object_provided_id, KeyDispatchTag, dense_data_tag > |
Helper class for the deduction of the correct storage type. Dense storage with provided ID. More... | |
struct | container_auto_resize< StorageTag > |
Resizes a vector automatically in order to allow valid access. More... | |
struct | container_auto_resize< dense_data_tag > |
Resizes a vector automatically in order to allow valid access. Specialization for dense data access. More... | |
struct | container< KeyType, DataType, ObjectType, ObjectIdentificationTag, KeyDispatchTag, StorageTag > |
The main container manipulation class. More... | |
Namespaces | |
namespace | viennadata |
namespace | viennadata::traits |
Manipulations of the different storage containers are implemented here.