HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pluginBase.h
Go to the documentation of this file.
1 //
2 // Copyright 2016 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 //
7 #ifndef PXR_IMAGING_HF_PLUGIN_BASE_H
8 #define PXR_IMAGING_HF_PLUGIN_BASE_H
9 
10 #include "pxr/pxr.h"
11 #include "pxr/imaging/hf/api.h"
12 
14 
15 ///
16 /// \class HfPluginBase
17 ///
18 /// Base class for all hydra plugin classes. This class provides no
19 /// functionality other than to serve as a polymorphic type for the
20 /// plugin registry.
21 ///
23 {
24 public:
25  HF_API
26  virtual ~HfPluginBase(); // = default: See workaround in cpp file
27 
28 protected:
29  // Pure virtual class, must be derived
30  HF_API
31  HfPluginBase() = default;
32 
33 private:
34  ///
35  /// This class is not intended to be copied.
36  ///
37  HfPluginBase(const HfPluginBase &) = delete;
38  HfPluginBase &operator=(const HfPluginBase &) = delete;
39 };
40 
41 
43 
44 #endif // PXR_IMAGING_HF_PLUGIN_BASE_H
#define HF_API
Definition: api.h:23
virtual HF_API ~HfPluginBase()
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74
HF_API HfPluginBase()=default