DATAKIT API  V2025.4
dtk_object.hpp
Go to the documentation of this file.
1 #ifndef __DTK_OBJECT_HPP__
2 #define __DTK_OBJECT_HPP__
3 #include "def/define.h"
4 #include "util/util_ptr_dtk.hpp"
5 
6 
7 class Dtk_Object
8 {
9 protected:
10  enum { _typeID = DTK_TYPE_OBJECT };
11  unsigned long count_;
12  friend class Dtk_SmartPtr<Dtk_Object>;
13 public:
15  Dtk_Object( const Dtk_Object& in );
19  virtual ~Dtk_Object();
20 
21  virtual void dump(FILE * file = stdout);
22  //downcasting
23  virtual int DtkDynamicType(const int& inId) = 0;
25  virtual Dtk_Size_t GetSize() const;
26 };
27 
28 #endif
Dtk_Object::count_
unsigned long count_
Definition: dtk_object.hpp:11
Dtk_Size_t
size_t Dtk_Size_t
Definition: define.h:714
DTK_TYPE_OBJECT
@ DTK_TYPE_OBJECT
Definition: define.h:466
Dtk_Object::DtkDynamicCast
static Dtk_Object * DtkDynamicCast(Dtk_Object *s)
Dtk_Object::dump
virtual void dump(FILE *file=stdout)
Dtk_Object::Dtk_Object
Dtk_Object(const Dtk_Object &in)
Dtk_SmartPtr
Definition: util_ptr_dtk.hpp:37
Dtk_Object::Dtk_Object
Dtk_Object(Dtk_Object &&in) DTK_NOEXCEPT
Dtk_Object::operator=
Dtk_Object & operator=(Dtk_Object &&s) DTK_NOEXCEPT
Dtk_Object::GetSize
virtual Dtk_Size_t GetSize() const
util_ptr_dtk.hpp
define.h
Dtk_Object::_typeID
@ _typeID
Definition: dtk_object.hpp:10
Dtk_Object::DtkDynamicType
virtual int DtkDynamicType(const int &inId)=0
Dtk_Object::Dtk_Object
Dtk_Object()
Dtk_Object
Definition: dtk_object.hpp:8
Dtk_Object::~Dtk_Object
virtual ~Dtk_Object()
DTK_NOEXCEPT
#define DTK_NOEXCEPT
Definition: config.hpp:30
Dtk_Object::operator=
Dtk_Object & operator=(const Dtk_Object &s)