library of assembled shared sources

http://lass.cocamware.com

lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType > Class Template Reference

#include <object_factory.h>


Public Types

typedef ObjectType TObject
typedef KeyType TKey
typedef PointerType TPointer
typedef MakerType TMaker

Public Member Functions

void subscribe (typename CallTraits< TKey >::TParam key, typename CallTraits< TMaker >::TParam maker)
TPointer make (typename CallTraits< TKey >::TParam key) const
template<typename P1 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1) const
template<typename P1 , typename P2 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2) const
template<typename P1 , typename P2 , typename P3 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3) const
template<typename P1 , typename P2 , typename P3 , typename P4 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3, P4 &p4) const
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3, P4 &p4, P5 &p5) const
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3, P4 &p4, P5 &p5, P6 &p6) const
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3, P4 &p4, P5 &p5, P6 &p6, P7 &p7) const
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3, P4 &p4, P5 &p5, P6 &p6, P7 &p7, P8 &p8) const
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3, P4 &p4, P5 &p5, P6 &p6, P7 &p7, P8 &p8, P9 &p9) const
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3, P4 &p4, P5 &p5, P6 &p6, P7 &p7, P8 &p8, P9 &p9, P10 &p10) const
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3, P4 &p4, P5 &p5, P6 &p6, P7 &p7, P8 &p8, P9 &p9, P10 &p10, P11 &p11) const
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3, P4 &p4, P5 &p5, P6 &p6, P7 &p7, P8 &p8, P9 &p9, P10 &p10, P11 &p11, P12 &p12) const
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 , typename P13 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3, P4 &p4, P5 &p5, P6 &p6, P7 &p7, P8 &p8, P9 &p9, P10 &p10, P11 &p11, P12 &p12, P13 &p13) const
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 , typename P13 , typename P14 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3, P4 &p4, P5 &p5, P6 &p6, P7 &p7, P8 &p8, P9 &p9, P10 &p10, P11 &p11, P12 &p12, P13 &p13, P14 &p14) const
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 , typename P13 , typename P14 , typename P15 >
TPointer make (typename CallTraits< TKey >::TParam key, P1 &p1, P2 &p2, P3 &p3, P4 &p4, P5 &p5, P6 &p6, P7 &p7, P8 &p8, P9 &p9, P10 &p10, P11 &p11, P12 &p12, P13 &p13, P14 &p14, P15 &p15) const

Private Types

typedef std::map< TKey, TMakerTMakers

Private Attributes

TMakers makers_


Detailed Description

template<typename ObjectType, typename KeyType, typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
class lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >

Definition at line 67 of file object_factory.h.


Member Typedef Documentation

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
typedef ObjectType lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::TObject

Definition at line 71 of file object_factory.h.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
typedef KeyType lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::TKey

Definition at line 72 of file object_factory.h.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
typedef PointerType lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::TPointer

Definition at line 73 of file object_factory.h.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
typedef MakerType lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::TMaker

Definition at line 74 of file object_factory.h.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
typedef std::map<TKey, TMaker> lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::TMakers [private]

Definition at line 259 of file object_factory.h.


Member Function Documentation

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
void lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::subscribe ( typename CallTraits< TKey >::TParam  key,
typename CallTraits< TMaker >::TParam  maker 
) [inline]

Definition at line 76 of file object_factory.h.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key  )  const [inline]

Definition at line 81 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1 
) const [inline]

Definition at line 92 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2 
) const [inline]

Definition at line 103 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3 
) const [inline]

Definition at line 114 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 , typename P4 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3,
P4 &  p4 
) const [inline]

Definition at line 125 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3,
P4 &  p4,
P5 &  p5 
) const [inline]

Definition at line 136 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3,
P4 &  p4,
P5 &  p5,
P6 &  p6 
) const [inline]

Definition at line 147 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3,
P4 &  p4,
P5 &  p5,
P6 &  p6,
P7 &  p7 
) const [inline]

Definition at line 158 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3,
P4 &  p4,
P5 &  p5,
P6 &  p6,
P7 &  p7,
P8 &  p8 
) const [inline]

Definition at line 169 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3,
P4 &  p4,
P5 &  p5,
P6 &  p6,
P7 &  p7,
P8 &  p8,
P9 &  p9 
) const [inline]

Definition at line 180 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3,
P4 &  p4,
P5 &  p5,
P6 &  p6,
P7 &  p7,
P8 &  p8,
P9 &  p9,
P10 &  p10 
) const [inline]

Definition at line 191 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3,
P4 &  p4,
P5 &  p5,
P6 &  p6,
P7 &  p7,
P8 &  p8,
P9 &  p9,
P10 &  p10,
P11 &  p11 
) const [inline]

Definition at line 202 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3,
P4 &  p4,
P5 &  p5,
P6 &  p6,
P7 &  p7,
P8 &  p8,
P9 &  p9,
P10 &  p10,
P11 &  p11,
P12 &  p12 
) const [inline]

Definition at line 213 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 , typename P13 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3,
P4 &  p4,
P5 &  p5,
P6 &  p6,
P7 &  p7,
P8 &  p8,
P9 &  p9,
P10 &  p10,
P11 &  p11,
P12 &  p12,
P13 &  p13 
) const [inline]

Definition at line 224 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 , typename P13 , typename P14 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3,
P4 &  p4,
P5 &  p5,
P6 &  p6,
P7 &  p7,
P8 &  p8,
P9 &  p9,
P10 &  p10,
P11 &  p11,
P12 &  p12,
P13 &  p13,
P14 &  p14 
) const [inline]

Definition at line 235 of file object_factory.h.

References LASS_THROW_EX.

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
template<typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 , typename P10 , typename P11 , typename P12 , typename P13 , typename P14 , typename P15 >
TPointer lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::make ( typename CallTraits< TKey >::TParam  key,
P1 &  p1,
P2 &  p2,
P3 &  p3,
P4 &  p4,
P5 &  p5,
P6 &  p6,
P7 &  p7,
P8 &  p8,
P9 &  p9,
P10 &  p10,
P11 &  p11,
P12 &  p12,
P13 &  p13,
P14 &  p14,
P15 &  p15 
) const [inline]

Definition at line 246 of file object_factory.h.

References LASS_THROW_EX.


Field Documentation

template<typename ObjectType , typename KeyType , typename PointerType = ObjectType*, typename MakerType = PointerType(*)()>
TMakers lass::util::ObjectFactory< ObjectType, KeyType, PointerType, MakerType >::makers_ [private]

Definition at line 261 of file object_factory.h.


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

Generated on Mon Nov 10 14:22:17 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo