Added alias

This commit is contained in:
Jesse Beder
2012-05-21 23:37:49 -05:00
parent c5e4bdee94
commit 07e88a78cb
2 changed files with 15 additions and 3 deletions

View File

@@ -512,7 +512,19 @@ namespace YAML
{
if(!good())
return *this;
if(m_pState->HasAnchor() || m_pState->HasTag()) {
m_pState->SetError(ErrorMsg::INVALID_ALIAS);
return *this;
}
PrepareNode(EmitterNodeType::Scalar);
if(!Utils::WriteAlias(m_stream, alias.content)) {
m_pState->SetError(ErrorMsg::INVALID_ALIAS);
return *this;
}
m_pState->BeginScalar();
return *this;

View File

@@ -9,13 +9,13 @@ int main()
out << "foo";
out << YAML::LocalTag("hi") << "bar";
out << YAML::Anchor("asdf") << YAML::BeginMap;
out << "a" << "b" << "c" << YAML::Newline;
out << "a" << "b" << "c";
out << YAML::Anchor("a") << YAML::BeginMap;
out << "a" << "b";
out << YAML::Anchor("d") << "a" << "b";
out << YAML::EndMap;
out << YAML::EndMap;
out << YAML::LocalTag("hi") << YAML::BeginSeq;
out << "a" << "b";
out << "a" << "b" << YAML::Alias("monkey");
out << YAML::EndSeq;
out << YAML::EndSeq;