Dynamic::Var SOO

Dynamic::Var  small object optimization and some refactoring
This commit is contained in:
aleks-f
2013-02-05 22:12:21 -06:00
parent 54a92c59e5
commit 21da0129b6
16 changed files with 401 additions and 208 deletions

View File

@@ -279,22 +279,22 @@ public:
void convert(DateTime& /*val*/) const
{
throw BadCastException();
throw BadCastException("Cannot convert Array to DateTime");
}
void convert(LocalDateTime& /*ldt*/) const
{
throw BadCastException();
throw BadCastException("Cannot convert Array to LocalDateTime");
}
void convert(Timestamp& /*ts*/) const
{
throw BadCastException();
throw BadCastException("Cannot convert Array to Timestamp");
}
VarHolder* clone() const
VarHolder* clone(Placeholder<VarHolder>* pVarHolder = 0) const
{
return new VarHolderImpl(_val);
return cloneHolder(pVarHolder, _val);
}
const JSON::Array::Ptr& value() const

View File

@@ -291,21 +291,24 @@ public:
void convert(DateTime& /*val*/) const
{
//TODO: val = _val;
throw NotImplementedException("Conversion not implemented: JSON:Object => DateTime");
}
void convert(LocalDateTime& /*ldt*/) const
{
//TODO: ldt = _val.timestamp();
throw NotImplementedException("Conversion not implemented: JSON:Object => LocalDateTime");
}
void convert(Timestamp& /*ts*/) const
{
//TODO: ts = _val.timestamp();
throw NotImplementedException("Conversion not implemented: JSON:Object => Timestamp");
}
VarHolderImpl* clone() const
VarHolder* clone(Placeholder<VarHolder>* pVarHolder = 0) const
{
return new VarHolderImpl(_val);
return cloneHolder(pVarHolder, _val);
}
const JSON::Object::Ptr& value() const