Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::UniverseDataBase Class Referencefinal

Data base for universe objects. More...

#include <core/alien/data/UniverseDataBase.h>

Collaboration diagram for Alien::UniverseDataBase:

Classes

class  IKey
 Key object interface. More...
class  IObject
 Object interface. More...
struct  Key
 Key object. More...
struct  Object
 Object. More...
class  ObjectList
 List of objects. More...

Public Member Functions

 UniverseDataBase ()
 Constructor.
template<typename U, typename... T>
std::pair< std::shared_ptr< U >, bool > findOrCreate (T &... t)
 Finds or creates an object.

Private Types

template<typename T>
using key_type

Private Attributes

std::vector< std::shared_ptr< IKey > > m_keys
 The list of keys.
std::vector< std::shared_ptr< ObjectList > > m_objects
 The list of objects.

Detailed Description

Data base for universe objects.

Definition at line 44 of file UniverseDataBase.h.

Member Typedef Documentation

◆ key_type

template<typename T>
using Alien::UniverseDataBase::key_type
private
Initial value:
typename std::conditional<std::is_copy_constructible<T>::value, T, T&>::type

Definition at line 91 of file UniverseDataBase.h.

Constructor & Destructor Documentation

◆ UniverseDataBase()

Alien::UniverseDataBase::UniverseDataBase ( )
inline

Constructor.

Definition at line 190 of file UniverseDataBase.h.

Member Function Documentation

◆ findOrCreate()

template<typename U, typename... T>
std::pair< std::shared_ptr< U >, bool > Alien::UniverseDataBase::findOrCreate ( T &... t)
inline

Finds or creates an object.

Template Parameters
UThe type of the object
TThe type of the objects
Parameters
[in]tThe objects
Returns
The object and the initialization flag

Definition at line 200 of file UniverseDataBase.h.

References m_keys, and m_objects.

Member Data Documentation

◆ m_keys

std::vector<std::shared_ptr<IKey> > Alien::UniverseDataBase::m_keys
private

The list of keys.

Definition at line 219 of file UniverseDataBase.h.

Referenced by findOrCreate().

◆ m_objects

std::vector<std::shared_ptr<ObjectList> > Alien::UniverseDataBase::m_objects
private

The list of objects.

Definition at line 221 of file UniverseDataBase.h.

Referenced by findOrCreate().


The documentation for this class was generated from the following file: