ECSTASY
All in the name
Loading...
Searching...
No Matches
StorageConcepts.hpp File Reference

Storage concepts and utilities. More...

#include <concepts>
#include "IStorage.hpp"
Include dependency graph for StorageConcepts.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GetComponentStorageType< C >
 
struct  ecstasy::getStorageTypeImpl< C >
 
struct  ecstasy::getStorageTypeImpl< C >
 
struct  ecstasy::getStorageTypeImpl< const C >
 

Namespaces

namespace  ecstasy
 Namespace containing all symbols specific to ecstasy.
 

Concepts

concept  ecstasy::ExplicitComponentStorage
 
concept  ecstasy::IsStorage
 Concept to check if a type is a storage.
 
concept  ecstasy::IsContainerStorage
 Concept to check if a storage is a container storage.
 

Macros

#define SET_COMPONENT_STORAGE(ComponentType, StorageType)
 Sets the storage type to use for ComponentType, if not called MapStorage is used by default.
 

Typedefs

template<typename C >
using ecstasy::getStorageType = typename getStorageTypeImpl< C >::type
 Get the storage type to use for a component.
 

Detailed Description

Storage concepts and utilities.

Author
Andréas Leroux (andre.nosp@m.as.l.nosp@m.eroux.nosp@m.@epi.nosp@m.tech..nosp@m.eu)
Version
0.1
Date
2024-10-17

Definition in file StorageConcepts.hpp.

Macro Definition Documentation

◆ SET_COMPONENT_STORAGE

#define SET_COMPONENT_STORAGE (   ComponentType,
  StorageType 
)
Value:
template <> \
struct GetComponentStorageType<ComponentType> { \
using Value = StorageType<ComponentType>; \
};
GenericValue< UTF8<> > Value

Sets the storage type to use for ComponentType, if not called MapStorage is used by default.

You can also define a StorageType member type in the component.

Definition at line 20 of file StorageConcepts.hpp.