ecto
Classes | Namespaces | Macros | Typedefs | Functions
registry.hpp File Reference
#include <vector>
#include <boost/noncopyable.hpp>
#include <boost/function/function0.hpp>
#include <boost/make_shared.hpp>
#include <ecto/forward.hpp>
#include <ecto/util.hpp>
#include <ecto/cell.hpp>
Include dependency graph for registry.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ecto::registry::entry_t
 
struct  ecto::registry::module_registry< ModuleTag >
 
struct  ecto::registry::registrator< Module, T >
 

Namespaces

 ecto
 
 ecto::py
 
 ecto::registry
 

Macros

#define ECTO_MODULETAG(MODULE)   namespace ecto { namespace tag { struct MODULE; } }
 
#define ECTO_CELL(MODULE, TYPE, NAME, DOCSTRING)
 
#define ECTO_INSTANTIATE_REGISTRY(MODULE)
 
#define ECTO_REGISTER(MODULE)   ::ecto::registry::module_registry< ::ecto::tag::MODULE>::instance().go();
 

Typedefs

typedef boost::shared_ptr< cell >(* ecto::registry::factory_fn_t) ()
 
typedef void(* ecto::registry::declare_params_t) (ecto::tendrils &)
 
typedef void(* ecto::registry::declare_io_t) (const ecto::tendrils &, ecto::tendrils &, ecto::tendrils &)
 

Functions

void ecto::py::postregistration (const std::string &, const std::string &, const std::string &)
 
entry_t ecto::registry::lookup (const std::string &name)
 
boost::shared_ptr< cell > ecto::registry::create (const std::string &name)
 
boost::shared_ptr< cell > ecto::registry::create_initialized (const std::string &name)
 
void ecto::registry::register_factory_fn (const std::string &name, entry_t e)
 

Macro Definition Documentation

#define ECTO_CELL (   MODULE,
  TYPE,
  NAME,
  DOCSTRING 
)
Value:
ECTO_MODULETAG(MODULE) \
namespace ecto{ namespace registry { \
template<> \
const ::ecto::registry::registrator< ::ecto::tag::MODULE,TYPE>& \
} }
#define ECTO_ASSERT_MODULE_NAME(MODULE)
Definition: module.hpp:36
Definition: parameters.hpp:11
#define ECTO_MODULETAG(MODULE)
Definition: registry.hpp:136
Definition: registry.hpp:96
#define ECTO_INSTANTIATE_REGISTRY (   MODULE)
Value:
ECTO_MODULETAG(MODULE) \
template struct ::ecto::registry::module_registry< ::ecto::tag::MODULE>;
#define ECTO_MODULETAG(MODULE)
Definition: registry.hpp:136
#define ECTO_MODULETAG (   MODULE)    namespace ecto { namespace tag { struct MODULE; } }
#define ECTO_REGISTER (   MODULE)    ::ecto::registry::module_registry< ::ecto::tag::MODULE>::instance().go();