32 const Ice::Current&
c)
34 if (!this->variantList)
40 SingleTypeVariantListBasePtr::dynamicCast(variantList->cloneContainer());
46 return variantList->getContainerType();
52 ParameterBase(source),
54 VariantListParameterBase(source)
56 throw LocalException(
"NYI");
60 for (
int i = 0; i < source.variantList->getSize(); i++)
63 *variant = *(VariantPtr::dynamicCast(source.variantList->getElementBase(i)));
72 if (type != source.getParameterType())
74 throw InvalidTypeException();
77 type = source.getParameterType();
78 *this->variantList = *source.getVariantList();
85 type = eVariantListParam;
86 *variantList = source;
95 SingleTypeVariantListBasePtr
104 for (
int i = 0; i < variantList->getSize(); i++)
106 if (!variantList->getElementBase(i)->validateElements())
Parameter()
Creates an empty Parameter.
The SingleTypeVariantList class is a subclass of VariantContainer and is comparable to a std::vector<...
Parameter & operator=(const Parameter &source) override
bool validate(const Ice::Current &c) const override
VariantTypeId getVariantType(const Ice::Current &c=Ice::emptyCurrent) const override
ParameterBasePtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
void setVariantList(const SingleTypeVariantListBasePtr &variantList, const Ice::Current &c=Ice::emptyCurrent) override
VariantListParameter()
Creates an empty Parameter.
SingleTypeVariantListBasePtr getVariantList(const Ice::Current &c=Ice::emptyCurrent) const override
The Variant class is described here: Variants.
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceInternal::Handle< Variant > VariantPtr