SheafSystem  0.0.0.0
poset_general_record.h
1 
2 //
3 // Copyright (c) 2014 Limit Point Systems, Inc.
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 
18 // Interface for class poset_general_record
19 
20 #ifndef POSET_GENERAL_RECORD_H
21 #define POSET_GENERAL_RECORD_H
22 
23 #ifndef SHEAF_DLL_SPEC_H
24 #include "SheafSystem/sheaf_dll_spec.h"
25 #endif
26 
27 #ifndef DATA_CONVERTER_H
28 #include "SheafSystem/data_converter.h"
29 #endif
30 
31 #ifndef POSET_DATA_TYPE_MAP_H
32 #include "SheafSystem/poset_data_type_map.h"
33 #endif
34 
35 #ifndef ASSERT_CONTRACT_H
36 #include "SheafSystem/assert_contract.h"
37 #endif
38 
39 #ifndef STD_CSTDLIB_H
40 #include "SheafSystem/std_cstdlib.h"
41 #endif
42 
43 #ifndef STD_UTILITY_H
44 #include "SheafSystem/std_utility.h"
45 #endif
46 
47 #ifndef ATTRIBUTES_RECORD_H
48 #include "SheafSystem/attributes_record.h"
49 #endif
50 
51 namespace sheaf
52 {
53 
59 class SHEAF_DLL_SPEC poset_general_record : public attributes_record
60 {
61 public:
62 
63  // CANONICAL MEMBERS
64 
70 
76  virtual poset_general_record* clone() const;
77 
81  virtual ~poset_general_record();
82 
86  virtual bool invariant() const;
87 
91  virtual bool is_ancestor_of(const any* other) const;
92 
93  // POSET_GENERAL_RECORD INTERFACE
94 
99 
100 protected:
101 
105  virtual void transfer_internal_buffer_to_poset();
106 
110  virtual void transfer_poset_to_internal_buffer();
111 };
112 
113 } // namespace sheaf
114 
115 #endif // ifndef POSET_GENERAL_RECORD_H
116 
117 
118 
119 
120 
121 
Abstract base class with useful features for all objects.
Definition: any.h:39
A wrapper/adapter for the poset general attributes record. Intended for transferring data between the...
Namespace for the sheaves component of the sheaf system.
A poset specific collection of data converters, various buffers and other data used while transferrin...
An abstract wrapper/adapter for attributes records. Intended for transferring data between the kernel...