mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-08 12:21:17 +00:00
Added writing float/double
This commit is contained in:
@@ -132,19 +132,28 @@ namespace YAML
|
||||
if(!good())
|
||||
return *this;
|
||||
|
||||
PrepareNode(EmitterNodeType::Scalar);
|
||||
|
||||
std::stringstream stream;
|
||||
SetStreamablePrecision<T>(stream);
|
||||
stream << value;
|
||||
m_stream << stream.str();
|
||||
|
||||
StartedScalar();
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
template<>
|
||||
inline void Emitter::SetStreamablePrecision<float>(std::stringstream& str)
|
||||
inline void Emitter::SetStreamablePrecision<float>(std::stringstream& stream)
|
||||
{
|
||||
str.precision(GetFloatPrecision());
|
||||
stream.precision(GetFloatPrecision());
|
||||
}
|
||||
|
||||
template<>
|
||||
inline void Emitter::SetStreamablePrecision<double>(std::stringstream& str)
|
||||
inline void Emitter::SetStreamablePrecision<double>(std::stringstream& stream)
|
||||
{
|
||||
str.precision(GetDoublePrecision());
|
||||
stream.precision(GetDoublePrecision());
|
||||
}
|
||||
|
||||
// overloads of insertion
|
||||
|
@@ -9,7 +9,7 @@ int main()
|
||||
out << YAML::Comment("Hello");
|
||||
out << YAML::Anchor("a") << YAML::Comment("anchor") << "item 1" << YAML::Comment("a");
|
||||
out << YAML::BeginMap << YAML::Comment("b");
|
||||
out << "pens" << YAML::Comment("foo") << "a" << YAML::Comment("bar");
|
||||
out << "pens" << YAML::Comment("foo") << 2.3 << YAML::Comment("bar");
|
||||
out << "pencils" << 15;
|
||||
out << YAML::EndMap << YAML::Comment("monkey");
|
||||
out << "item 2";
|
||||
|
Reference in New Issue
Block a user