VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVirtualBaseClass.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvUtil/vrvUtil.h>
13 
14 namespace makVrv
15 {
20  {
21 
22  public:
23 
26 
28  virtual ~DtVirtualBaseClass();
29 
30  };
31 
34  template <typename T>
36  {
37  public:
38  DtInstanceHolder(T* ptr) : myPointer(ptr)
39  {
40  }
41 
43  {
44  delete myPointer;
45  myPointer = 0;
46  }
47 
48  T* get()
49  {
50  return myPointer;
51  }
52 
53  protected:
55  };
56 
59  template <typename T>
61  {
62  public:
64  {
65  }
66 
68  {
69  // do not delete
70  myPointer = 0;
71  }
72 
73  T* get()
74  {
75  return myPointer;
76  }
77 
78  protected:
80  };
81 }
82 
83 
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
virtual ~DtInstanceHolder()
Definition: DtVirtualBaseClass.h:42
T * myPointer
Definition: DtVirtualBaseClass.h:54
Helper class used to hold and own a pointer to an object. This class destroys the referenced object d...
Definition: DtVirtualBaseClass.h:35
Contains DLL export macros.
virtual ~DtWeakInstanceHolder()
Definition: DtVirtualBaseClass.h:67
DtWeakInstanceHolder(T *ptr)
Definition: DtVirtualBaseClass.h:63
DtInstanceHolder(T *ptr)
Definition: DtVirtualBaseClass.h:38
Helper class used to hold and refer to a pointer of an object. This class does not destroy the refere...
Definition: DtVirtualBaseClass.h:60
T * myPointer
Definition: DtVirtualBaseClass.h:79

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)