Commit 0f3f1e26 authored by Jesse Beder's avatar Jesse Beder
Browse files

Fixed map/value

parent f72e325c
...@@ -299,7 +299,7 @@ namespace YAML ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 @@ ...@@ -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";
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment