Open CASCADE Technology  6.9.0
Macros

NCollection_DefineHSequence.hxx File Reference

#include <Standard_DefineHandle.hxx>
#include <NCollection_DefineSequence.hxx>
#include <MMgt_TShared.hxx>

Macros

#define DEFINE_HSEQUENCE(HClassName, _SequenceType_)
 
#define IMPLEMENT_HSEQUENCE(HClassName)
 

Macro Definition Documentation

#define DEFINE_HSEQUENCE (   HClassName,
  _SequenceType_ 
)
Value:
class HClassName : public _SequenceType_, public MMgt_TShared { \
public: \
DEFINE_STANDARD_ALLOC \
DEFINE_NCOLLECTION_ALLOC \
HClassName () {} \
HClassName (const _SequenceType_& theOther) : _SequenceType_(theOther) {} \
const _SequenceType_& Sequence () const { return *this; } \
void Append (const _SequenceType_::value_type& theItem) { \
_SequenceType_::Append (theItem); \
} \
void Append (_SequenceType_& theSequence) { \
_SequenceType_::Append (theSequence); \
} \
_SequenceType_& ChangeSequence () { return *this; } \
void Append (const Handle(HClassName)& theOther) { \
_SequenceType_::Append (theOther->ChangeSequence()); \
} \
DEFINE_STANDARD_RTTI (HClassName) \
};
#define Handle(ClassName)
Definition: Standard_Macro.hxx:23
Intermediate class between Standard_Transient and descendants. The abstract class TShared is the root...
Definition: MMgt_TShared.hxx:38
#define DEFINE_STANDARD_HANDLE(C1, C2)
Definition: Standard_DefineHandle.hxx:81
#define DEFINE_STANDARD_RTTI(C1)
Definition: Standard_DefineHandle.hxx:93
#define IMPLEMENT_HSEQUENCE (   HClassName)
Value:
Intermediate class between Standard_Transient and descendants. The abstract class TShared is the root...
Definition: MMgt_TShared.hxx:38
#define IMPLEMENT_STANDARD_RTTIEXT(C1, C2)
Definition: Standard_DefineHandle.hxx:127
#define IMPLEMENT_STANDARD_HANDLE(C1, C2)
Definition: Standard_DefineHandle.hxx:83