Evo C++ Library v0.5.1
Classes | Namespaces | Macros | Typedefs
cortex.h File Reference

Evo Cortex class. More...

#include "ptr.h"
#include "maplist.h"

Go to the source code of this file.

Classes

class  Cortex< T >
 A Map with a collection of independent abstract context items. More...
 
struct  CortexModuleAsBase< T >
 Helper for getting a concrete module from a CortexModulePtr (or similar pointer). More...
 
struct  CortexModuleBase
 A simple base class for defining a module using a similar pattern to Cortex, but without the dynamic Map. More...
 

Namespaces

 evo
 Evo C++ Library namespace.
 

Macros

#define EVO_CORTEX_DYNAMIC_CAST   1
 Set whether Cortex uses dynamic_cast. More...
 
#define EVO_CORTEX_IMPL_DEFAULT   =MapList<String,SharedPtr<PureBase> >
 
#define EVO_CORTEX_MAPHASH(KEY, BASE)   evo::Cortex< evo::MapHash<KEY, evo::SharedPtr<BASE> > >
 Helper for a Cortex type using MapHash with given KEY and BASE types. More...
 
#define EVO_CORTEX_MAPLIST(KEY, BASE)   evo::Cortex< evo::MapList<KEY, evo::SharedPtr<BASE> > >
 Helper for a Cortex type using MapList with given KEY and BASE types. More...
 
#define INCL_evo_cortex_h
 

Typedefs

typedef SharedPtr< CortexModuleBase > CortexModulePtr
 Smart/Shared pointer to a class inheriting CortexModuleBase. More...
 

Detailed Description

Evo Cortex class.

Macro Definition Documentation

◆ EVO_CORTEX_IMPL_DEFAULT

#define EVO_CORTEX_IMPL_DEFAULT   =MapList<String,SharedPtr<PureBase> >

◆ EVO_CORTEX_MAPHASH

#define EVO_CORTEX_MAPHASH (   KEY,
  BASE 
)    evo::Cortex< evo::MapHash<KEY, evo::SharedPtr<BASE> > >

Helper for a Cortex type using MapHash with given KEY and BASE types.

  • When using this: #include <evo/maphash.h>
  • This evaluates to a Cortex type with the template arguments filled in
  • Use with typedef like this:
    typedef EVO_CORTEX_MAPHASH(String, PureBase) MyCortex;

◆ EVO_CORTEX_MAPLIST

#define EVO_CORTEX_MAPLIST (   KEY,
  BASE 
)    evo::Cortex< evo::MapList<KEY, evo::SharedPtr<BASE> > >

Helper for a Cortex type using MapList with given KEY and BASE types.

  • When using this: #include <evo/maplist.h>
  • This evaluates to a Cortex type with the template arguments filled in
  • Use with typedef like this:
    typedef EVO_CORTEX_MAPLIST(String, PureBase) MyCortex;

◆ INCL_evo_cortex_h

#define INCL_evo_cortex_h