return _prop;
}
- SGPropertyNode* r = _prop ? _prop : static_defaultRoot;
- _prop = r->getNode(_path, aCreate);
+ SGPropertyNode *r = _prop ? _prop : static_defaultRoot,
+ *prop = r->getNode(_path, aCreate);
- if (_prop) {
- // resolve worked, we will cache from now on, so clear _path
+ if( prop )
+ {
+ // resolve worked, we will cache from now on, so clear _path and cache prop
_path = NULL;
+ _prop = prop;
}
- return _prop;
+ return prop;
}
SGPropertyNode* PropertyObjectBase::getOrThrow() const
class PropertyObject : PropertyObjectBase
{
public:
- PropertyObject();
+ PropertyObject()
+ {}
/**
* Create from path relative to the default root, and option default value
*/
- PropertyObject(const char* aChild) :
+ explicit PropertyObject(const char* aChild) :
PropertyObjectBase(aChild)
{ }
/**
* Create from a node, with optional relative path
*/
- PropertyObject(SGPropertyNode* aNode, const char* aChild = NULL) :
+ explicit PropertyObject(SGPropertyNode* aNode, const char* aChild = NULL) :
PropertyObjectBase(aNode, aChild)
{
{
SGPropertyNode* n = PropertyObjectBase::node(true);
if (!n) {
+ std::cout << "no node" << std::endl;
return aValue;
}
class PropertyObject<std::string> : PropertyObjectBase
{
public:
- PropertyObject(const char* aChild) :
+ explicit PropertyObject(const char* aChild) :
PropertyObjectBase(aChild)
{ }
- PropertyObject(SGPropertyNode* aNode, const char* aChild = NULL) :
+ explicit PropertyObject(SGPropertyNode* aNode, const char* aChild = NULL) :
PropertyObjectBase(aNode, aChild)
{