Mirror reflection library 0.5.13

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

Suppliers are responsible for getting existing values to be copied from. 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 Suppliers.
Product operator() (void)
 Function call operator returning an existing instance of Product.

Detailed Description

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

Suppliers are responsible for getting existing values to be copied from.

Instantiations of this template provide existing values of a Product type that are used by copy constructors to create a new instance of Product in a generated factory.

One instance of Suppliers for a particular Product type having a copy constructor is created every time a factory needs to create an instance of Product either as the final product of construction or as an parameter for another constructor.


Member Function Documentation

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

Post construction finishing of the Suppliers.

Some factories may need additional post-construction finishing when the sources for all parameters are constructed, before the Suppliers (and Manufacturers) 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.