00001 #pragma once 00002 00003 #ifndef STLNODE_H_62B23520_7C8E_11DE_8A39_0800200C9A66 00004 #define STLNODE_H_62B23520_7C8E_11DE_8A39_0800200C9A66 00005 00006 00007 #include <vector> 00008 #include <map> 00009 00010 namespace YAML 00011 { 00012 template <typename T> 00013 void operator >> (const Node& node, std::vector<T>& v) 00014 { 00015 v.clear(); 00016 v.resize(node.size()); 00017 for(unsigned i=0;i<node.size();++i) 00018 node[i] >> v[i]; 00019 } 00020 00021 00022 template <typename K, typename V> 00023 void operator >> (const Node& node, std::map<K, V>& m) 00024 { 00025 m.clear(); 00026 for(Iterator it=node.begin();it!=node.end();++it) { 00027 K k; 00028 V v; 00029 it.first() >> k; 00030 it.second() >> v; 00031 m[k] = v; 00032 } 00033 } 00034 } 00035 00036 #endif // STLNODE_H_62B23520_7C8E_11DE_8A39_0800200C9A66