33 #define DEFINE_HANDLE_CLASS(HandleKind) \
37 class HandleKind##Implementation; \
41 class RTI_EXPORT HandleKind \
52 HandleKind const & rhs); \
54 HandleKind & operator= ( \
55 HandleKind const & rhs); \
58 bool isValid () const; \
62 HandleKind const & rhs) const; \
65 HandleKind const & rhs) const; \
68 HandleKind const & rhs) const; \
81 VariableLengthData encode () const; \
84 void encode (VariableLengthData& buffer) const; \
89 size_t bufferSize) const \
90 throw (CouldNotEncode); \
92 size_t encodedLength () const; \
94 std::wstring toString () const; \
100 friend class HandleKind##Friend; \
102 const HandleKind##Implementation* getImplementation () const; \
104 HandleKind##Implementation* getImplementation (); \
106 explicit HandleKind ( \
107 HandleKind##Implementation* impl); \
109 explicit HandleKind ( \
110 VariableLengthData const & encodedValue); \
112 HandleKind##Implementation* _impl; \
117 std::wostream RTI_EXPORT & \
140 #endif // RTI_Handle_h