Added computing and caching the sequence size

This commit is contained in:
beder
2011-09-11 16:21:36 -05:00
parent 73a47d1c1c
commit ad28ffc6f8
3 changed files with 60 additions and 10 deletions

View File

@@ -59,6 +59,11 @@ namespace YAML
static std::string empty_scalar;
private:
void compute_seq_size() const;
void compute_map_size() const;
void reset_sequence();
void reset_map();
void convert_sequence_to_map(shared_memory_holder pMemory);
template<typename T>
@@ -78,6 +83,8 @@ namespace YAML
typedef std::vector<node *> node_seq;
node_seq m_sequence;
mutable std::size_t m_seqSize;
// map
typedef std::pair<node *, node *> kv_pair;
typedef std::list<kv_pair> node_map;