Data Structures | Namespaces

/export/development/ViennaData/release/ViennaData-1.0.1/viennadata/traits/data_container.hpp File Reference

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

Detailed Description

Manipulations of the different storage containers are implemented here.