29 #include <ArmarXCore/interface/observers/VariantContainers.h>
30 #include <ArmarXCore/interface/observers/VariantBase.h>
33 #include <IceUtil/Handle.h>
86 virtual public VariantContainerBase
89 ContainerTypePtr getContainerType(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
90 void setContainerType(
const ContainerTypePtr& containerType,
const Ice::Current&
c = Ice::emptyCurrent)
override;
94 VariantDataClassPtr clone(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
95 std::string output(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
96 Ice::Int getType(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
97 bool validate(
const Ice::Current&
c = Ice::emptyCurrent)
override;
111 virtual public SingleVariantBase
120 VariantContainerBasePtr cloneContainer(const::Ice::Current& = Ice::emptyCurrent)
const override;
122 VariantBasePtr getElementBase(
const Ice::Current& = Ice::emptyCurrent)
const override;
126 int getSize(const::Ice::Current& = Ice::emptyCurrent)
const override;
127 ContainerTypePtr getContainerType(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
128 void setContainerType(
const ContainerTypePtr& containerType,
const Ice::Current&
c = Ice::emptyCurrent)
override;
129 static VariantTypeId getStaticType(
const Ice::Current&
c = Ice::emptyCurrent);
131 void clear(const::Ice::Current& = Ice::emptyCurrent)
override { }
132 bool validateElements(const::Ice::Current& = Ice::emptyCurrent)
override;
135 void serialize(
const ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent)
const override;
136 void deserialize(
const ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent)
override;
141 std::istringstream stream(
s);
147 static std::string getTypePrefix();
151 std::string
toString(
const Ice::Current&
c)
const override;
159 VariantContainerBasePtr
cloneContainer(
const Ice::Current& = Ice::emptyCurrent)
const override;
161 ContainerTypePtr
getContainerType(
const Ice::Current& = Ice::emptyCurrent)
const override;
162 void setContainerType(
const ContainerTypePtr& containerType,
const Ice::Current& = Ice::emptyCurrent)
override;
163 void clear(
const Ice::Current& = Ice::emptyCurrent)
override {}
164 int getSize(
const Ice::Current& = Ice::emptyCurrent)
const override;
167 void serialize(
const ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent)
const override {}
168 void deserialize(
const ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent)
override {}
172 std::string
toString(
const Ice::Current&
c)
const override;
180 ContainerTypePtr
clone(
const Ice::Current& = Ice::emptyCurrent)
const override;
191 static bool compare(
const ContainerTypePtr& type1,
const ContainerTypePtr& secondType);
193 static ContainerTypePtr
FromString(
const std::string& typeStr);
194 static std::string
GetInnerType(
const std::string& typeStr);
197 std::string containerType;
198 ContainerTypePtr thisType;
207 extern template class ::IceInternal::Handle< ::armarx::SingleVariant>;
208 extern template class ::IceInternal::Handle< ::armarx::ContainerTypeI>;