diff options
author | 2015-08-26 15:50:06 +0300 | |
---|---|---|
committer | 2015-08-26 15:50:06 +0300 | |
commit | 53f0e28d7f30c7175cbb15884c309613593859d8 (patch) | |
tree | e75ff499233519baa6c50c60fa0c726da7b42e03 /external_libs/yaml-cpp/src/aliasmanager.cpp | |
parent | a628a35b10fbd38211c353f506a8c49c2cc3dd7e (diff) | |
parent | 00d6f001971b324bb9c884aaf0384a4cee076550 (diff) |
Merge branch 'lib_fix'
Diffstat (limited to 'external_libs/yaml-cpp/src/aliasmanager.cpp')
-rw-r--r-- | external_libs/yaml-cpp/src/aliasmanager.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/external_libs/yaml-cpp/src/aliasmanager.cpp b/external_libs/yaml-cpp/src/aliasmanager.cpp new file mode 100644 index 00000000..ed4d3b5a --- /dev/null +++ b/external_libs/yaml-cpp/src/aliasmanager.cpp @@ -0,0 +1,29 @@ +#include "yaml-cpp/aliasmanager.h" +#include "yaml-cpp/node.h" +#include <cassert> +#include <sstream> + +namespace YAML +{ + AliasManager::AliasManager(): m_curAnchor(0) + { + } + + void AliasManager::RegisterReference(const Node& node) + { + m_anchorByIdentity.insert(std::make_pair(&node, _CreateNewAnchor())); + } + + anchor_t AliasManager::LookupAnchor(const Node& node) const + { + AnchorByIdentity::const_iterator it = m_anchorByIdentity.find(&node); + if(it == m_anchorByIdentity.end()) + return 0; + return it->second; + } + + anchor_t AliasManager::_CreateNewAnchor() + { + return ++m_curAnchor; + } +} |