Commit Graph

53 Commits

Author SHA1 Message Date
beder
14955a2a63 Set the pimpl node in Node to be optional, so we don't create unnecessary guys every time you call Node tmp = foo[value]; 2011-09-12 21:59:47 -05:00
beder
f38e38df09 Implemented std::map decode (and fixed bug in the Node iterator - the reference_type should be just a plain value, since it's created on-the-fly) 2011-09-12 00:29:39 -05:00
beder
cf240daf63 Added reading/writing std::list 2011-09-11 23:18:19 -05:00
beder
2a71e8868b Added reading/writing std::vector 2011-09-11 23:14:52 -05:00
beder
cf5695e320 Removed the (unimplemented) operator <, and added operator == (in place of is()) for nodes 2011-09-11 22:56:04 -05:00
beder
30ce282198 Added mutable operator[] for integral types (you can only grow the sequence if you specify the *next* element) 2011-09-11 22:51:49 -05:00
beder
4dd9f036d3 Implemented operator[] specialization, but only const (should the sequence be mutable?) 2011-09-11 21:51:04 -05:00
beder
e8210b476c Started specialization for operator[] for integers 2011-09-11 21:32:47 -05:00
beder
d8955fc52c Set the map iterator to filter over undefined items 2011-09-11 19:44:27 -05:00
beder
c8fc3c9592 Implemented the map size computation 2011-09-11 17:16:26 -05:00
beder
9c6bd61398 Switched the implementation of maps from list<pair> to map (but just pointer comparison) 2011-09-11 16:56:38 -05:00
beder
ad28ffc6f8 Added computing and caching the sequence size 2011-09-11 16:21:36 -05:00
beder
bb1a816a3a Added dependency management (to cause nodes to become defined if their children do) 2011-09-11 15:59:53 -05:00
beder
4bbe984bdc Fixed up the old API stuff, and removed the util/value (since it's no longer needed) 2011-09-10 23:11:28 -05:00
beder
2851f5f8c9 Fixed minor things that used the old API, compiles/links/runs\! 2011-09-10 22:59:27 -05:00
beder
e905b74232 Major switch from Value -> Node. The library compiles with the new API, but tests are still oldies, and don't compile 2011-09-10 17:57:23 -05:00
beder
8fd372b0db Start of moving Value -> Node and Node -> old API Node (with a #define toggle) 2011-09-10 17:18:15 -05:00
beder
33a71151ca Added helper emitter functions, but we have a problem: YAML::Value is already a manipulator 2011-09-10 16:50:44 -05:00
beder
b3086ac260 Fixed node iterator 2011-09-10 14:36:10 -05:00
beder
c12a03473e New iterators work\! 2011-09-10 14:16:50 -05:00
beder
89f87d855d Updated the node/value classes with the new iterators, they compile until we try to instantiate anything 2011-09-10 14:11:42 -05:00
beder
81243c87d4 Finished the main iterator stuff, now have to hook it to the nodes/values 2011-09-10 14:06:49 -05:00
beder
f809206baa Halfway towards factoring out a node_iterator, and then building iterator on top of it 2011-09-10 13:20:22 -05:00
beder
dcf9309ea8 Started emitting events for Values 2011-09-10 12:42:42 -05:00
beder
b8e9b52af7 Implemented sugar Parse() functions 2011-09-09 23:40:19 -05:00
beder
8185fa48f1 Implemented (untested) the value builder 2011-09-09 23:28:21 -05:00
beder
f0ae0254d4 Sequence iterator works\! 2011-09-09 19:22:17 -05:00
beder
b35a332fdd Switched iterators to typedef's, with a bit of finagling so we can forward-declare them 2011-09-09 19:07:37 -05:00
beder
f60fb95ab6 Base iterator stuff compiles :) 2011-09-09 18:46:37 -05:00
beder
9de9ac7e7e Started writing new iterators 2011-09-09 16:17:59 -05:00
beder
603c726811 Made the 'data' member optional in node_ref - it's only created on-demand, so we don't waste extra memory every time we do Value tmp = v; 2011-09-09 14:26:55 -05:00
beder
8e52497d96 Switched value = otherValue to assign the actual nodes after setting the reference (so that tmp = foo['bar']; tmp = other; is the same as foo['bar'] = other;) 2011-09-09 14:02:18 -05:00
beder
7a1e47e03f Added append() 2011-09-09 02:51:35 -05:00
beder
e32b3cd93f Switched memory to using shared nodes, and node_data to keep only naked node pointers, not shared nodes (to break the cycle, and we don't need weak pointers because their memory is guaranteed to exist, via 'memory') 2011-09-09 02:29:17 -05:00
beder
37cd3bd53c Added half of the std::map conversion (we don't have reading from Values yet) 2011-09-08 02:10:04 -05:00
beder
c080478444 Added back the streamable conversions 2011-09-08 02:05:03 -05:00
beder
bb2eafc387 Switched convert to a templated struct that can be specialized (so we can partially specialize it) 2011-09-08 02:02:15 -05:00
beder
3b0cc619b2 Implemented conversion for std::string, including a bypass-accessor to the scalar value 2011-09-07 15:49:01 -05:00
beder
a9c7f8cc5a Set the 'memory' to only store node_refs, not nodes 2011-09-07 14:56:04 -05:00
beder
82fa4e71db Implemented is() 2011-09-07 14:46:25 -05:00
beder
980fb59d4b Added (another) layer - now 'node_ref' is between node and node_data, and it decrees whether nodes are identical 2011-09-07 14:44:18 -05:00
beder
75f3a36547 Implemented map get(), and it would work (I think) if we implemented convert() for strings 2011-09-07 03:36:50 -05:00
beder
2d75a631e2 Set up map searching by templated key 2011-09-07 03:21:24 -05:00
beder
7a3f425720 Reorganized so that we don't have cyclic include problems 2011-09-07 02:59:58 -05:00
beder
6fa53f9714 Implemented map access by already-existing node 2011-09-07 02:39:59 -05:00
beder
a07642f156 Started implementing node_data 2011-09-07 00:45:28 -05:00
beder
555cfae28d Compiles/links assignment to string 2011-09-07 00:20:23 -05:00
beder
74ffe6a61b Value stuff compiles/links with lots of placeholder functions 2011-09-07 00:12:24 -05:00
beder
57617cc5cc Sketched more of the implementation 2011-09-06 23:11:38 -05:00
beder
40605b78c7 Moved the value header to its own subfolder 2011-09-06 16:06:46 -05:00