VR-Forces 4.8 Class Documentation
 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) 2007 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtVirtualBaseClass.h,v $ $Revision: 1.8 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 
15 #include <vrvUtil/vrvUtil.h>
16 
17 namespace makVrv
18 {
23  {
24 
25  public:
26 
29 
31  virtual ~DtVirtualBaseClass();
32 
33  };
34 
37  template <typename T>
39  {
40  public:
41  DtInstanceHolder(T* ptr) : myPointer(ptr)
42  {
43  }
44 
46  {
47  delete myPointer;
48  myPointer = 0;
49  }
50 
51  T* get()
52  {
53  return myPointer;
54  }
55 
57  };
58 
61  template <typename T>
63  {
64  public:
66  {
67  }
68 
70  {
71  // do not delete
72  myPointer = 0;
73  }
74 
75  T* get()
76  {
77  return myPointer;
78  }
79 
81  };
82 }
83 
84 
Virtual base class.
Definition: DtVirtualBaseClass.h:22
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
virtual ~DtInstanceHolder()
Definition: DtVirtualBaseClass.h:45
T * myPointer
Definition: DtVirtualBaseClass.h:56
Helper class used to hold and own a pointer to an object.
Definition: DtVirtualBaseClass.h:38
Contains DLL export macros.
virtual ~DtWeakInstanceHolder()
Definition: DtVirtualBaseClass.h:69
DtWeakInstanceHolder(T *ptr)
Definition: DtVirtualBaseClass.h:65
DtInstanceHolder(T *ptr)
Definition: DtVirtualBaseClass.h:41
Helper class used to hold and refer to a pointer of an object.
Definition: DtVirtualBaseClass.h:62
T * myPointer
Definition: DtVirtualBaseClass.h:80

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)