# NCollection_EBTree.hxx File Reference

`#include <NCollection_UBTree.hxx>`
`#include <Standard_DefineHandle.hxx>`
`#include <MMgt_TShared.hxx>`
`#include <NCollection_List.hxx>`
`#include <TColStd_SequenceOfInteger.hxx>`
`#include <NCollection_DataMap.hxx>`

## Defines

#define | DEFINE_HEBTREE(_HEBTREE, _OBJTYPE, _BNDTYPE, _HUBTREE)
#define | IMPLEMENT_HEBTREE(_HEBTREE, _HUBTREE)

## Define Documentation

#define DEFINE_HEBTREE | ( | _HEBTREE,
|  | _OBJTYPE,
|  | _BNDTYPE,
|  | _HUBTREE |  | ) |

Value:

    class _HEBTREE : public _HUBTREE                                        \
    {                                                                       \
     public:                                                                \
      typedef NCollection_UBTree <_OBJTYPE, _BNDTYPE> UBTree;               \
      typedef NCollection_EBTree <_OBJTYPE, _BNDTYPE> EBTree;               \
                                                                            \
      _HEBTREE () : _HUBTREE(new EBTree) {}                                 \
      /* Empty constructor */                                               \
                                                                            \
      /* Access to the methods of EBTree */                                 \
                                                                            \
      Standard_Boolean Remove (const _OBJTYPE& theObj)                      \
            { return ChangeETree().Remove (theObj); }                       \
                                                                            \
      Standard_Boolean Contains (const _OBJTYPE& theObj) const              \
            { return ETree().Contains (theObj); }                           \
                                                                            \
      const UBTree::TreeNode& FindNode (const _OBJTYPE& theObj) const       \
            { return ETree().FindNode (theObj); }                           \
                                                                            \
      /* Access to the extended tree algorithm */                           \
                                                                            \
      const EBTree& ETree () const { return (const EBTree&) Tree(); }       \
      EBTree&       ChangeETree () { return (EBTree&) ChangeTree(); }       \
                                                                            \
      DEFINE_STANDARD_RTTI (_HEBTREE)                                       \
      /* Type management */                                                 \
    };                                                                      \
    DEFINE_STANDARD_HANDLE (_HEBTREE, _HUBTREE)

#define IMPLEMENT_HEBTREE | ( | _HEBTREE,
|  | _HUBTREE |  | ) |

Value:

    IMPLEMENT_STANDARD_HANDLE (_HEBTREE, _HUBTREE)                          \
    IMPLEMENT_STANDARD_RTTIEXT(_HEBTREE, _HUBTREE)