classload.hpp File Reference

#include <s11n.net/s11n/s11n_debuggering_macros.hpp>
#include <s11n.net/s11n/factory.hpp>
#include <s11n.net/s11n/export.hpp>
#include <s11n.net/s11n/classload.tpp>

Include dependency graph for classload.hpp:

This graph shows which files directly or indirectly include this file:

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).


Define Documentation

#define s11n_cl_S11N_CLASSLOAD_HPP_INCLUDED   1

Definition at line 2 of file classload.hpp.


Generated on Wed Jun 4 21:45:22 2008 for libs11n by  doxygen 1.5.3