mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-26 02:18:04 +01:00
DynamicAny improvements (now holds any type out-of-the-box), some refactoring and documentation improvements
This commit is contained in:
@@ -247,21 +247,14 @@ DynamicAny DynamicAny::operator -- (int)
|
||||
|
||||
DynamicAny& DynamicAny::operator [] (const std::string& name)
|
||||
{
|
||||
DynamicAnyHolderImpl<DynamicStruct>* pHolder = dynamic_cast<DynamicAnyHolderImpl<DynamicStruct> *>(_pHolder);
|
||||
if (pHolder)
|
||||
return pHolder->operator[](name);
|
||||
else
|
||||
throw BadCastException();
|
||||
return holderImpl<DynamicStruct, InvalidAccessException>("Not an array.")->operator[](name);
|
||||
}
|
||||
|
||||
|
||||
const DynamicAny& DynamicAny::operator [] (const std::string& name) const
|
||||
{
|
||||
const DynamicAnyHolderImpl<DynamicStruct>* pHolder = dynamic_cast<const DynamicAnyHolderImpl<DynamicStruct>* >(_pHolder);
|
||||
if (pHolder)
|
||||
return pHolder->operator[](name);
|
||||
else
|
||||
throw BadCastException();
|
||||
return const_cast<const DynamicAny&>(holderImpl<DynamicStruct,
|
||||
InvalidAccessException>("Not an array.")->operator[](name));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user