OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
TypeKind.hpp
Go to the documentation of this file.
1 #ifndef OMG_DDS_XTYPE_
2 #define OMG_DDS_TYPE_OBJECT_HPP_
3 
4 /* Copyright 2010, Object Management Group, Inc.
5  * Copyright 2010, PrismTech, Corp.
6  * Copyright 2010, Real-Time Innovations, Inc.
7  * All rights reserved.
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */
21 
22 #include <bitset>
25 
26 
27 
28 #if defined(OMG_DDS_X_TYPES_DYNANIC_TYPE_SUPPORT)
29 
30 
31 // --- Shared meta-data: -------------------------------------------------
32 
33 namespace dds
34 {
35 namespace core
36 {
37 namespace xtypes
38 {
39 struct TypeKind
40 {
41  enum Type
42  {
43  NO_TYPE = 0, // sentinel indicating "null" value
44  PRIMITIVE_TYPE = 0x4000,
45  CONSTRUCTED_TYPE = 0x8000,
46  COLLECTION_TYPE = 0x0200,
47  AGGREGATION_TYPE = 0x0100,
48  ANNOTATION_TYPE = 0x0080,
49 
50  BOOLEAN_TYPE = PRIMITIVE_TYPE | 0x0001,
51  UINT_8_TYPE = PRIMITIVE_TYPE | 0x0002,
52  INT_16_TYPE = PRIMITIVE_TYPE | 0x0003,
53  UINT_16_TYPE = PRIMITIVE_TYPE | 0x0004,
54  INT_32_TYPE = PRIMITIVE_TYPE | 0x0005,
55  UINT_32_TYPE = PRIMITIVE_TYPE | 0x0006,
56  INT_64_TYPE = PRIMITIVE_TYPE | 0x0007,
57  UINT_64_TYPE = PRIMITIVE_TYPE | 0x0008,
58  FLOAT_32_TYPE = PRIMITIVE_TYPE | 0x0009,
59  FLOAT_64_TYPE = PRIMITIVE_TYPE | 0x000A,
60  FLOAT_128_TYPE = PRIMITIVE_TYPE | 0x000B,
61  CHAR_8_TYPE = PRIMITIVE_TYPE | 0x000C,
62  CHAR_32_TYPE = PRIMITIVE_TYPE | 0x000D,
63 
64  ENUMERATION_TYPE = CONSTRUCTED_TYPE | 0x0001,
65  BITSET_TYPE = CONSTRUCTED_TYPE | 0x0002,
66  ALIAS_TYPE = CONSTRUCTED_TYPE | 0x0003,
67 
68  ARRAY_TYPE = CONSTRUCTED_TYPE | COLLECTION_TYPE | 0x0004,
69  SEQUENCE_TYPE = CONSTRUCTED_TYPE | COLLECTION_TYPE | 0x0005,
70  STRING_TYPE = CONSTRUCTED_TYPE | COLLECTION_TYPE | 0x0006,
71  MAP_TYPE = CONSTRUCTED_TYPE | COLLECTION_TYPE | 0x0007,
72 
73  UNION_TYPE = CONSTRUCTED_TYPE | AGGREGATION_TYPE | 0x0008,
74  STRUCTURE_TYPE = CONSTRUCTED_TYPE | AGGREGATION_TYPE | 0x0009,
75  UNION_FWD_DECL_TYPE = CONSTRUCTED_TYPE | AGGREGATION_TYPE | 0x000A,
76  STRUCTURE_FWD_DECL_TYPE = CONSTRUCTED_TYPE | AGGREGATION_TYPE | 0x000B
77  };
78 };
79 
80 }
81 }
82 }
83 
84 #endif // OMG_DDS_X_TYPES_DYNANIC_TYPE_SUPPORT
85 
86 
87 #endif // !defined(OMG_DDS_TYPE_OBJECT_HPP_)
Definition: array.hpp:23