simgear/props/props.*: added SGPropertyNode::getValue<std::string>() specialisation.

This is needed for external VR code that used to use
SGPropertyNode::getValue<const char*>() (which has been removed).
This commit is contained in:
Julian Smith 2022-01-06 21:59:58 +00:00
parent c4c5829d37
commit 8772ff4e2a
2 changed files with 8 additions and 0 deletions

View File

@ -4325,6 +4325,7 @@ template int SGPropertyNode::getValue<int>(void*) const;
template long SGPropertyNode::getValue<long>(void*) const;
template float SGPropertyNode::getValue<float>(void*) const;
template double SGPropertyNode::getValue<double>(void*) const;
template std::string SGPropertyNode::getValue<std::string>(void*) const;
template SGVec3<double> SGPropertyNode::getValue<SGVec3<double>>(void*) const;
template SGVec4<double> SGPropertyNode::getValue<SGVec4<double>>(void*) const;
@ -4358,6 +4359,12 @@ double SGPropertyNode::getValue<double>(SGPropertyLock& lock, void* dummy) const
return SGPropertyNodeImpl::getDoubleValue(lock, *this);
}
template<>
std::string SGPropertyNode::getValue<std::string>(SGPropertyLock& lock, void* dummy) const
{
return SGPropertyNodeImpl::getStringValue(lock, *this);
}
template bool SGPropertyNode::setValue(const bool&, void*);
template bool SGPropertyNode::setValue(const int&, void*);
template bool SGPropertyNode::setValue(const long&, void*);

View File

@ -171,6 +171,7 @@ DEFINTERNALPROP(float, FLOAT);
DEFINTERNALPROP(double, DOUBLE);
DEFINTERNALPROP(const char*, STRING);
DEFINTERNALPROP(const char[], STRING);
DEFINTERNALPROP(std::string, STRING);
#undef DEFINTERNALPROP
} // namespace props