DDS-PSM-C++  1.0
ISO C++ API for OpenSplice DDS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
TCollectionTypes.hpp
Go to the documentation of this file.
1 #ifndef OMG_DDS_CORE_XTYPES_T_COLLECTION_TYPES_HPP_
2 #define OMG_DDS_CORE_XTYPES_T_COLLECTION_TYPES_HPP_
3 
5 
6 namespace dds {
7  namespace core {
8  namespace xtypes {
9 
10  template <typename DELEGATE>
12 
13  template <typename DELEGATE>
14  class TMapType;
15 
16  template <typename DELEGATE>
18 
19  template <typename CHAR_T, template <typename C> class DELEGATE>
20  class TStringType;
21  }
22  }
23 }
24 
25 template <typename DELEGATE>
26 class dds::core::xtypes::TCollectionType : public dds::core::xtypes::TDynamicType<DELEGATE> {
27 public:
28  const uint32_t UNBOUNDED = 0xFFFFFFFF;
29 
30 protected:
31  TCollectionType(const std::string& name, TypeKind kind);
32 public:
33  uint32_t bounds() const;
34 };
35 
36 
37 template <typename DELEGATE>
39 public:
43  TMapType(const DyanmicType& key_type, const DynamicType& value_type);
47  TMapType(const DyanmicType& key_type, const DynamicType& value_type, uint32_t bounds);
48 public:
49  const DyanmicType& key_type();
50  const DynamicType& value_type();
51 };
52 
53 template <typename DELEGATE>
55 public:
60 
64  TSequenceType(const DynamicType& type, uint32_t bounds);
65 public:
66  const DyanmicType& key_type() const;
67 };
68 
69 template <typename CHAR_T, template <typename C> class DELEGATE>
71 public:
72  TStringType(uint32_t bounds);
73 };
74 
75 
76 #endif /* OMG_DDS_CORE_XTYPES_T_COLLECTION_TYPES_HPP_ */