Mirror reflection library 0.5.13

mirror::Manufacturer< Product, SourceTraits > Struct Template Reference

Manufacturer is responsible for the conversion of arguments for a constructor. More...

#include <mirror/doc/concepts_fact_gen.hpp>

List of all members.

Public Member Functions

 Suppliers (UnspecifiedType parent_data, ConstructionInfo construction_info)
 Constructor.
void finish (UnspecifiedType parent_data)
 Post construction finishing of the Manufacturer.
Product operator() (void)
 Function call operator returning a new instance of Product.

Detailed Description

template<typename Product, typename SourceTraits>
struct mirror::Manufacturer< Product, SourceTraits >

Manufacturer is responsible for the conversion of arguments for a constructor.

Manufacturers are used to provide parameters for constructors in a factory. Unlike the Suppliers a manufacturer creates a new instance from an external data representation or in case of elaborated Product types it can use a factory<Manufacturer, Suppliers, SourceTraits, ...> recursivelly to create the required argument.


Member Function Documentation

template<typename Product , typename SourceTraits >
void mirror::Manufacturer< Product, SourceTraits >::finish ( UnspecifiedType  parent_data)

Post construction finishing of the Manufacturer.

Some factories may need additional post-construction finishing when the sources for all parameters are constructed, before the Manufacturer (and Suppliers) are used. Such finishing can be done here.


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

Copyright © 2006-2011 Matus Chochlik, University of Zilina, Zilina, Slovakia.
<matus.chochlik -at- fri.uniza.sk>
<chochlik -at -gmail.com>
Documentation generated on Fri Dec 16 2011 by Doxygen (version 1.7.3).
Important note: Although the 'boostified' version of Mirror uses the Boost C++ libraries Coding Guidelines and is implemented inside of the boost namespace, it IS NOT an officially reviewed and accepted Boost library. Mirror is being developed with the intention to be submitted for review for inclusion to the Boost C++ libraries.