00001 #ifndef NO_PTR_DYNOBJ_KEY_H
00002 #define NO_PTR_DYNOBJ_KEY_H
00003
00023 #include "NoPtrFwd.hh"
00024
00025 namespace NoPtr
00026 {
00027
00028 namespace NoPtrImpl
00029 {
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051 template <typename ObjType>
00052 class DynObjKey
00053 {
00054 friend class DynObj<ObjType, DefaultDynObjContext>;
00055 friend class DynObj<ObjType, NoPtr::InValueContainer>;
00056 friend class DynObj<ObjType, NoPtr::InValueContainerOpt1>;
00057 friend class DynObj<ObjType, NoPtr::InValueContainerOpt2>;
00058
00059 private:
00060 DynObjKey() {}
00061 DynObjKey(const DynObjKey&) {}
00062 DynObjKey& operator=(const DynObjKey&) const {return *this;}
00063 };
00064
00065 }
00066
00067 }
00068
00069 #endif // NO_PTR_DYNOBJ_KEY_H
00070