MySQL 8.0.40
Source Code Documentation
dd::Entity_element< K, T, P, F, D > Class Template Reference

Class to wrap an entity object. More...

#include <system_registry.h>

Public Member Functions

 Entity_element (const K &key, const T *entity, const P property)
 
 ~Entity_element ()
 
const K & key () const
 
const T * entity () const
 
const P property () const
 
const Pproperty_ptr () const
 
void dump () const
 

Private Attributes

const K m_key
 The key associated with the entity object. More...
 
const T * m_entity
 Entity object pointer, like an Object_table instance. More...
 
const P m_property
 Property of some kind, like an enumeration. More...
 

Detailed Description

template<typename K, typename T, typename P, const char * F, bool D>
class dd::Entity_element< K, T, P, F, D >

Class to wrap an entity object.

The Entity_element instances are intended used in registries to support classification of meta data. The Entity_element template points to an instance of some type, and also has a property member that is associated with the entity, as well as a key with which the object is associated.

Note
The entity object ownership is decided by the relevant template parameter, see below.
Template Parameters
KA key type, e.g. a pair of strings.
TAn entity type, e.g. an Object_table instance.
PA property type, e.g. an enumeration.
FFunction to map from property to name.
DBoolean to decide ownership of wrapped object.

Constructor & Destructor Documentation

◆ Entity_element()

template<typename K , typename T , typename P , const char * F, bool D>
dd::Entity_element< K, T, P, F, D >::Entity_element ( const K &  key,
const T *  entity,
const P  property 
)
inline

◆ ~Entity_element()

template<typename K , typename T , typename P , const char * F, bool D>
dd::Entity_element< K, T, P, F, D >::~Entity_element ( )
inline

Member Function Documentation

◆ dump()

template<typename K , typename T , typename P , const char * F, bool D>
void dd::Entity_element< K, T, P, F, D >::dump ( ) const
inline

◆ entity()

template<typename K , typename T , typename P , const char * F, bool D>
const T * dd::Entity_element< K, T, P, F, D >::entity ( ) const
inline

◆ key()

template<typename K , typename T , typename P , const char * F, bool D>
const K & dd::Entity_element< K, T, P, F, D >::key ( ) const
inline

◆ property()

template<typename K , typename T , typename P , const char * F, bool D>
const P dd::Entity_element< K, T, P, F, D >::property ( ) const
inline

◆ property_ptr()

template<typename K , typename T , typename P , const char * F, bool D>
const P * dd::Entity_element< K, T, P, F, D >::property_ptr ( ) const
inline

Member Data Documentation

◆ m_entity

template<typename K , typename T , typename P , const char * F, bool D>
const T* dd::Entity_element< K, T, P, F, D >::m_entity
private

Entity object pointer, like an Object_table instance.

◆ m_key

template<typename K , typename T , typename P , const char * F, bool D>
const K dd::Entity_element< K, T, P, F, D >::m_key
private

The key associated with the entity object.

◆ m_property

template<typename K , typename T , typename P , const char * F, bool D>
const P dd::Entity_element< K, T, P, F, D >::m_property
private

Property of some kind, like an enumeration.


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