31 #include <IceUtil/Handle.h>
34 #include <ArmarXCore/interface/observers/VariantBase.h>
35 #include <ArmarXCore/interface/observers/VariantContainers.h>
87 ContainerTypePtr getContainerType(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
88 void setContainerType(
const ContainerTypePtr& containerType,
89 const Ice::Current&
c = Ice::emptyCurrent)
override;
93 VariantDataClassPtr clone(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
94 std::string output(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
95 Ice::Int getType(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
96 bool validate(
const Ice::Current&
c = Ice::emptyCurrent)
override;
109 virtual public SingleVariantBase
118 VariantContainerBasePtr
119 cloneContainer(const ::Ice::Current& = Ice::emptyCurrent)
const override;
121 VariantBasePtr getElementBase(
const Ice::Current& = Ice::emptyCurrent)
const override;
125 int getSize(const ::Ice::Current& = Ice::emptyCurrent)
const override;
126 ContainerTypePtr getContainerType(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
127 void setContainerType(
const ContainerTypePtr& containerType,
128 const Ice::Current&
c = Ice::emptyCurrent)
override;
129 static VariantTypeId getStaticType(
const Ice::Current&
c = Ice::emptyCurrent);
133 clear(const ::Ice::Current& = Ice::emptyCurrent)
override
137 bool validateElements(const ::Ice::Current& = Ice::emptyCurrent)
override;
140 void serialize(
const ObjectSerializerBasePtr& serializer,
141 const ::Ice::Current& = Ice::emptyCurrent)
const override;
142 void deserialize(
const ObjectSerializerBasePtr& serializer,
143 const ::Ice::Current& = Ice::emptyCurrent)
override;
149 std::istringstream stream(
s);
155 static std::string getTypePrefix();
159 std::string
toString(
const Ice::Current&
c)
const override;
167 VariantContainerBasePtr
168 cloneContainer(
const Ice::Current& = Ice::emptyCurrent)
const override;
170 ContainerTypePtr
getContainerType(
const Ice::Current& = Ice::emptyCurrent)
const override;
172 const Ice::Current& = Ice::emptyCurrent)
override;
175 clear(
const Ice::Current& = Ice::emptyCurrent)
override
179 int getSize(
const Ice::Current& = Ice::emptyCurrent)
const override;
185 const ::Ice::Current& = Ice::emptyCurrent)
const override
191 const ::Ice::Current& = Ice::emptyCurrent)
override
197 std::string
toString(
const Ice::Current&
c)
const override;
208 ContainerTypePtr
clone(
const Ice::Current& = Ice::emptyCurrent)
const override;
219 static bool compare(
const ContainerTypePtr& type1,
const ContainerTypePtr& secondType);
221 static ContainerTypePtr
FromString(
const std::string& typeStr);
222 static std::string
GetInnerType(
const std::string& typeStr);
226 std::string containerType;
227 ContainerTypePtr thisType;
237 extern template class ::IceInternal::Handle<::armarx::SingleVariant>;
238 extern template class ::IceInternal::Handle<::armarx::ContainerTypeI>;