![]() |
factory
class
detail
folder
default_on_missing
factory error policy, which invokes a stored functor if the given ID does
not map to a creator.
element_type will be recognized). Breaking change: To reduce code horror and increase
uniformity, all abstract types must now be specified as a pointer, be it
a raw pointer or a smart pointer. This should hopefully help push the concept
that the abstract types' result-type represents what is actually returned
by the factory.
throws have been replaced
with boost::throw_exception
CreatorPolicy and
creator_policy_type in prototype<>
with ClonePolicy and clone_policy_type, respectively.
abstract_factory::create.
Uses Fusion
sequences internally, which gives great flexibility for handling
invocation and general meddling with arguments (e.g. binding)
new_ptr and wrapped_new_ptr promoted to non-detail
namespace
auto_ptrs
(potentially breaking change).
nullptr_on_missing_prototype
error policy for prototypes.
BOOST_DEDUCED_TYPENAME
and all nested template type declarations with BOOST_NESTED_TEMPLATE,
hopefully increasing compatibility (although this library requires a highly
conformant compiler anyway, so might not make much of a difference in practice).
Based on feedback and advice from v1.0, the standard factory implementation has been completely rewritten. The changes are not backwards compatible, and the old version is to be considered deprecated.
Initial release on http://arcticinteractive.com