#include <s11n.net/s11n/s11n_debuggering_macros.hpp>
#include <s11n.net/s11n/factory.hpp>
#include <s11n.net/s11n/exception.hpp>
#include <s11n.net/s11n/type_traits.hpp>
#include <s11n.net/s11n/s11n_config.hpp>
#include <s11n.net/s11n/classload.tpp>
Go to the source code of this file.
Namespaces | |
namespace | s11n |
namespace | s11n::cl |
namespace | s11n::cl::Detail |
Classes | |
struct | s11n::cl::object_factory< InterfaceBase > |
A default object factory functor for use with the s11n::s11n_traits type. More... | |
Defines | |
#define | s11n_cl_S11N_CLASSLOAD_HPP_INCLUDED 1 |
Functions | |
template<typename InterfaceBase> | |
InterfaceBase * | s11n::cl::classload (const std::string key) |
Returns object_factory<InterfaceBase>()(key). | |
template<typename InterfaceBase> | |
void | s11n::cl::classloader_register (const std::string &classname, InterfaceBase *(*factory_func)()) |
Registers a factory with InterfaceBase's classloader. | |
template<typename InterfaceBase, typename SubType> | |
void | s11n::cl::classloader_register_subtype (const std::string &classname) |
Registers a default factory which returns a SubType object. | |
template<typename InterfaceBase> | |
void | s11n::cl::classloader_register_base (const std::string &classname) |
Registers InterfaceBase with its own classloader using a default factory. | |
template<typename T> | |
T * | s11n::cl::Detail::noop_factory () |
Internal no-op factory. | |
template<typename InterfaceBase> | |
void | s11n::cl::classloader_register_abstract (const std::string &classname) |
Registers InterfaceBase as an abstract type. | |
template<typename InterfaceBase> | |
void | s11n::cl::classloader_alias (const std::string &_alias, const std::string &classname) |
Aliases the given classname with the underlying factory layer, such that classload<InterfaceBase>(_alias) will return the same as classload<InterfaceBase>(classname). |
|
Definition at line 2 of file classload.hpp. |