Added writing float/double

This commit is contained in:
Jesse Beder
2012-05-22 13:59:31 -05:00
parent c95bcae49f
commit 952fe51c73
2 changed files with 14 additions and 5 deletions

View File

@@ -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

View File

@@ -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";