SheafSystem  0.0.0.0
subposet_names_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 subposet_names_record
19 
20 #ifndef SUBPOSET_NAMES_RECORD_H
21 #define SUBPOSET_NAMES_RECORD_H
22 
23 #ifndef SHEAF_DLL_SPEC_H
24 #include "SheafSystem/sheaf_dll_spec.h"
25 #endif
26 
27 #ifndef ATTRIBUTES_RECORD_H
28 #include "SheafSystem/attributes_record.h"
29 #endif
30 
31 namespace sheaf
32 {
33 
40 class SHEAF_DLL_SPEC subposet_names_record : public attributes_record
41 {
42 public:
43 
44  // =============================================================================
45  // ANY FACET
46  // =============================================================================
47 
53  virtual subposet_names_record* clone() const;
54 
58  virtual bool invariant() const;
59 
63  virtual bool is_ancestor_of(const any* other) const;
64 
65  // =============================================================================
66  // SUBPOSET_NAMES_RECORD FACET
67  // =============================================================================
68 
73 
79 
83  virtual ~subposet_names_record();
84 
85 protected:
86 
90  virtual void transfer_internal_buffer_to_poset();
91 
95  virtual void transfer_poset_to_internal_buffer();
96 };
97 
98 } // namespace sheaf
99 
100 #endif // ifndef SUBPOSET_NAMES_RECORD_H
101 
102 
103 
104 
105 
106 
A wrapper/adapter for the subposet names record. Intended for transferring subposet name data between...
Abstract base class with useful features for all objects.
Definition: any.h:39
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...