Go to the documentation of this file.
38 #define REP_BODY(NAME) GEN_REP_BODY( NAME, #NAME )
42 #define GEN_REP_BODY(CLNAME,STRNAME) \
43 CLNAME( const CLNAME & ); \
44 CLNAME & operator=(const CLNAME & ); \
46 virtual const char * repName() const \
48 virtual size_t mem_size () const { return sizeof (CLNAME); }\
53 #define DEFINE_BASE_POINTER(NAME) \
55 typedef Ptr<NAME> NAME##Ptr; \
56 typedef constPtr<NAME> const##NAME##Ptr; \
57 extern template class RepPtrStore<NAME>; \
58 extern template class RepPtrStore<const NAME>;
60 #define DEFINE_BASE_POINTER_IN_NAMESPACE(NS,NAME) \
63 typedef Ptr<NAME> NAME##Ptr; \
64 typedef constPtr<NAME> const##NAME##Ptr; \
66 extern template class RepPtrStore<NS::NAME>; \
67 extern template class RepPtrStore<const NS::NAME>;
69 #define DEFINE_DERIVED_POINTER(NAME,BASE) \
71 typedef Ptr<NAME,BASE> NAME##Ptr; \
72 typedef constPtr<NAME,BASE> const##NAME##Ptr; \
73 extern template class RepPtrStore<NAME,BASE>; \
74 extern template class RepPtrStore<const NAME,const BASE>;
76 #define DEFINE_DERIVED_POINTER_IN_NAMESPACE(NS,NAME,BASE) \
79 typedef Ptr<NAME,BASE> NAME##Ptr; \
80 typedef constPtr<NAME,BASE> const##NAME##Ptr; \
82 extern template class RepPtrStore<NS::NAME,BASE>; \
83 extern template class RepPtrStore<const NS::NAME,const BASE>;
87 #define IMPL_BASE_POINTER(NAME) \
88 template class RepPtrStore<NAME>; \
89 template class RepPtrStore<const NAME>;
91 #define IMPL_BASE_POINTER_IN_NAMESPACE(NS,NAME) \
92 template class RepPtrStore<NS::NAME>; \
93 template class RepPtrStore<const NS::NAME>;
95 #define IMPL_DERIVED_POINTER(NAME,BASE) \
96 template class RepPtrStore<NAME,BASE>; \
97 template class RepPtrStore<const NAME,const BASE>;
99 #define IMPL_DERIVED_POINTER_IN_NAMESPACE(NS,NAME,BASE) \
100 template class RepPtrStore<NS::NAME,BASE>; \
101 template class RepPtrStore<const NS::NAME,const BASE>;
Generated on a sunny day for yast2-core by
1.8.8