CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::MetaContainer Class Reference

A base class for a container of MetaItems. More...

#include <CeresEngine/Reflection/MetaContainer.hpp>

Inheritance diagram for CeresEngine::MetaContainer:
CeresEngine::Class CeresEngine::Enum CeresEngine::TClass< T > CeresEngine::TEnum< T >

Classes

struct  Deleter
 

Public Member Functions

template<typename T , typename Func >
void forEach (Func &&func) const
 
template<typename Func >
void forEach (MetaCategory category, Func &&func) const
 
template<typename T >
Generator< const TforEach () const
 
Generator< const MetaItemforEach (MetaCategory category) const
 

Protected Member Functions

 MetaContainer ()=default
 
virtual ~MetaContainer ()=default
 
bool addItem (MetaItem *value)
 
std::size_t count (MetaCategory category) const
 

Private Types

using ItemPtr = UPtr< MetaItem, Deleter >
 

Private Attributes

Vector< ItemPtrmItems
 

Friends

class ClassProperty
 
class ClassConstructor
 
class ClassMethod
 
class EnumValue
 

Detailed Description

A base class for a container of MetaItems.

Member Typedef Documentation

◆ ItemPtr

Constructor & Destructor Documentation

◆ MetaContainer()

CeresEngine::MetaContainer::MetaContainer ( )
explicitprotecteddefault

◆ ~MetaContainer()

virtual CeresEngine::MetaContainer::~MetaContainer ( )
protectedvirtualdefault

Member Function Documentation

◆ addItem()

bool CeresEngine::MetaContainer::addItem ( MetaItem value)
protected

◆ count()

std::size_t CeresEngine::MetaContainer::count ( MetaCategory  category) const
protected

◆ forEach() [1/4]

template<typename T >
Generator< const T > CeresEngine::MetaContainer::forEach ( ) const

◆ forEach() [2/4]

template<typename T , typename Func >
void CeresEngine::MetaContainer::forEach ( Func &&  func) const

◆ forEach() [3/4]

Generator< const MetaItem > CeresEngine::MetaContainer::forEach ( MetaCategory  category) const

◆ forEach() [4/4]

template<typename Func >
void CeresEngine::MetaContainer::forEach ( MetaCategory  category,
Func &&  func 
) const

Friends And Related Symbol Documentation

◆ ClassConstructor

◆ ClassMethod

◆ ClassProperty

◆ EnumValue

Member Data Documentation

◆ mItems

Vector<ItemPtr> CeresEngine::MetaContainer::mItems
private

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