mirror of
https://github.com/jbeder/yaml-cpp.git
synced 2025-09-09 12:41:17 +00:00
Fixed map/value
This commit is contained in:
@@ -299,7 +299,7 @@ namespace YAML
|
|||||||
case EmitterNodeType::FlowMap:
|
case EmitterNodeType::FlowMap:
|
||||||
// TODO: if we were writing null, and
|
// TODO: if we were writing null, and
|
||||||
// we wanted it blank, we wouldn't want a space
|
// we wanted it blank, we wouldn't want a space
|
||||||
if(m_pState->HasBegunNode())
|
if(m_pState->HasBegunContent())
|
||||||
m_stream << " ";
|
m_stream << " ";
|
||||||
break;
|
break;
|
||||||
case EmitterNodeType::BlockSeq:
|
case EmitterNodeType::BlockSeq:
|
||||||
@@ -332,16 +332,16 @@ namespace YAML
|
|||||||
case EmitterNodeType::Scalar:
|
case EmitterNodeType::Scalar:
|
||||||
case EmitterNodeType::FlowSeq:
|
case EmitterNodeType::FlowSeq:
|
||||||
case EmitterNodeType::FlowMap:
|
case EmitterNodeType::FlowMap:
|
||||||
if(m_stream.col() < nextIndent)
|
if(m_pState->HasBegunContent())
|
||||||
m_stream << IndentTo(nextIndent);
|
|
||||||
else
|
|
||||||
m_stream << " ";
|
m_stream << " ";
|
||||||
|
else
|
||||||
|
m_stream << IndentTo(nextIndent);
|
||||||
break;
|
break;
|
||||||
case EmitterNodeType::BlockSeq:
|
case EmitterNodeType::BlockSeq:
|
||||||
m_stream << "\n";
|
m_stream << "\n";
|
||||||
break;
|
break;
|
||||||
case EmitterNodeType::BlockMap:
|
case EmitterNodeType::BlockMap:
|
||||||
if(m_pState->HasBegunNode())
|
if(m_pState->HasBegunContent())
|
||||||
m_stream << "\n";
|
m_stream << "\n";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -381,10 +381,10 @@ namespace YAML
|
|||||||
case EmitterNodeType::Scalar:
|
case EmitterNodeType::Scalar:
|
||||||
case EmitterNodeType::FlowSeq:
|
case EmitterNodeType::FlowSeq:
|
||||||
case EmitterNodeType::FlowMap:
|
case EmitterNodeType::FlowMap:
|
||||||
if(m_stream.col() < curIndent)
|
if(m_pState->HasBegunContent())
|
||||||
m_stream << IndentTo(curIndent);
|
|
||||||
else
|
|
||||||
m_stream << " ";
|
m_stream << " ";
|
||||||
|
else
|
||||||
|
m_stream << IndentTo(curIndent);
|
||||||
break;
|
break;
|
||||||
case EmitterNodeType::BlockSeq:
|
case EmitterNodeType::BlockSeq:
|
||||||
case EmitterNodeType::BlockMap:
|
case EmitterNodeType::BlockMap:
|
||||||
@@ -397,9 +397,6 @@ namespace YAML
|
|||||||
case EmitterNodeType::Scalar:
|
case EmitterNodeType::Scalar:
|
||||||
case EmitterNodeType::FlowSeq:
|
case EmitterNodeType::FlowSeq:
|
||||||
case EmitterNodeType::FlowMap:
|
case EmitterNodeType::FlowMap:
|
||||||
if(m_stream.col() < nextIndent)
|
|
||||||
m_stream << IndentTo(nextIndent);
|
|
||||||
else
|
|
||||||
m_stream << " ";
|
m_stream << " ";
|
||||||
break;
|
break;
|
||||||
case EmitterNodeType::BlockSeq:
|
case EmitterNodeType::BlockSeq:
|
||||||
|
@@ -31,7 +31,7 @@ namespace YAML
|
|||||||
// basic state checking
|
// basic state checking
|
||||||
bool good() const { return m_isGood; }
|
bool good() const { return m_isGood; }
|
||||||
const std::string GetLastError() const { return m_lastError; }
|
const std::string GetLastError() const { return m_lastError; }
|
||||||
void SetError(const std::string& error) { throw std::runtime_error(error); m_isGood = false; m_lastError = error; }
|
void SetError(const std::string& error) { m_isGood = false; m_lastError = error; }
|
||||||
|
|
||||||
// node handling
|
// node handling
|
||||||
void SetAnchor();
|
void SetAnchor();
|
||||||
@@ -53,6 +53,7 @@ namespace YAML
|
|||||||
bool HasAnchor() const { return m_hasAnchor; }
|
bool HasAnchor() const { return m_hasAnchor; }
|
||||||
bool HasTag() const { return m_hasTag; }
|
bool HasTag() const { return m_hasTag; }
|
||||||
bool HasBegunNode() const { return m_hasAnchor || m_hasTag || m_hasNonContent; }
|
bool HasBegunNode() const { return m_hasAnchor || m_hasTag || m_hasNonContent; }
|
||||||
|
bool HasBegunContent() const { return m_hasAnchor || m_hasTag; }
|
||||||
|
|
||||||
void ClearModifiedSettings();
|
void ClearModifiedSettings();
|
||||||
|
|
||||||
|
@@ -4,19 +4,13 @@
|
|||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
YAML::Emitter out;
|
YAML::Emitter out;
|
||||||
out << YAML::Anchor("monkey") << YAML::LocalTag("a");
|
|
||||||
out << YAML::BeginSeq;
|
out << YAML::BeginSeq;
|
||||||
out << "foo";
|
out << "item 1";
|
||||||
out << YAML::LocalTag("hi") << "bar";
|
out << YAML::BeginMap;
|
||||||
out << YAML::Anchor("asdf") << YAML::BeginMap;
|
out << "pens" << "a";
|
||||||
out << "a" << "b" << "c";
|
out << "pencils" << "b";
|
||||||
out << YAML::Anchor("a") << YAML::BeginMap;
|
|
||||||
out << YAML::Anchor("d") << "a" << "b";
|
|
||||||
out << YAML::EndMap;
|
out << YAML::EndMap;
|
||||||
out << YAML::EndMap;
|
out << "item 2";
|
||||||
out << YAML::LocalTag("hi") << YAML::BeginSeq;
|
|
||||||
out << "a" << "b" << YAML::Alias("monkey");
|
|
||||||
out << YAML::EndSeq;
|
|
||||||
out << YAML::EndSeq;
|
out << YAML::EndSeq;
|
||||||
|
|
||||||
std::cout << out.c_str() << "\n";
|
std::cout << out.c_str() << "\n";
|
||||||
|
Reference in New Issue
Block a user