ArcGIS Procedural Runtime  3.2.10650
Content.h
1 /*
2  COPYRIGHT (c) 2012-2024 Esri R&D Center Zurich
3  TRADE SECRETS: ESRI PROPRIETARY AND CONFIDENTIAL
4  Unpublished material - all rights reserved under the
5  Copyright Laws of the United States and applicable international
6  laws, treaties, and conventions.
7 
8  For additional information, contact:
9  Environmental Systems Research Institute, Inc.
10  Attn: Contracts and Legal Services Department
11  380 New York Street
12  Redlands, California, 92373
13  USA
14 
15  email: contracts@esri.com
16 */
17 
18 #ifndef PRTX_CONTENT_H_
19 #define PRTX_CONTENT_H_
20 
21 #include "prtx/prtx.h"
22 
23 #include <vector>
24 #include <memory>
25 
26 #ifdef _MSC_VER
27 # pragma warning(push)
28 # pragma warning (disable : 4251 4231 4275 4660)
29 #endif
30 
31 
32 namespace prtx {
33 
34 
40 class PRTX_EXPORTS_API Content {
41 public:
42  Content() { }
43  Content(const Content&) = delete;
44  Content& operator=(const Content&) = delete;
45  virtual ~Content() { }
46 };
47 
48 
49 typedef std::shared_ptr<Content> ContentPtr;
50 typedef std::vector<ContentPtr> ContentPtrVector;
51 
52 
88 class PRTX_EXPORTS_API ComparableContent : public Content {
89 public:
90  ComparableContent() { }
91  virtual ~ComparableContent() { }
92 
93  virtual bool compare(const ComparableContent& rhs) const = 0;
94  virtual bool operator==(const ComparableContent& rhs) const = 0;
95  virtual bool operator!=(const ComparableContent& rhs) const = 0;
96  virtual bool operator<(const ComparableContent& rhs) const = 0;
97 };
98 
99 
100 } // namespace prtx
101 
102 
103 #ifdef _MSC_VER
104 # pragma warning(pop)
105 #endif
106 
107 
108 #endif /* PRTX_CONTENT_H_ */
Definition: Content.h:40
The Procedural Runtime eXtension namespace. The prtx namespace contains the tools to extend the Proce...
Definition: AnnotationBuilder.h:35
Definition: Content.h:88