Jesse Beder
|
a8f82af604
|
Switched Node::operator=(const Node&) to *not* force itself to create its node first (since we're just assigning them)
|
2011-09-12 22:05:43 -05:00 |
|
Jesse Beder
|
0c321a6dc6
|
Switched the node_ref to *always* create its data (since now the Node itself doesn't always create itself)
|
2011-09-12 22:03:11 -05:00 |
|
Jesse Beder
|
08b3ddfd3e
|
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 |
|
Jesse Beder
|
5397a93702
|
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 |
|
Jesse Beder
|
b9583dde76
|
Added reading/writing std::list
|
2011-09-11 23:18:19 -05:00 |
|
Jesse Beder
|
f22f38f7f2
|
Added reading/writing std::vector
|
2011-09-11 23:14:52 -05:00 |
|
Jesse Beder
|
9e62bf8349
|
Removed the (unimplemented) operator <, and added operator == (in place of is()) for nodes
|
2011-09-11 22:56:04 -05:00 |
|
Jesse Beder
|
f9d826c22a
|
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 |
|
Jesse Beder
|
4770ec798c
|
Implemented operator[] specialization, but only const (should the sequence be mutable?)
|
2011-09-11 21:51:04 -05:00 |
|
Jesse Beder
|
4568dd0b19
|
Started specialization for operator[] for integers
|
2011-09-11 21:32:47 -05:00 |
|
Jesse Beder
|
a308b73e8a
|
Set the map iterator to filter over undefined items
|
2011-09-11 19:44:27 -05:00 |
|
Jesse Beder
|
a03af5dd73
|
Implemented the map size computation
|
2011-09-11 17:16:26 -05:00 |
|
Jesse Beder
|
b50264e74d
|
Switched the implementation of maps from list<pair> to map (but just pointer comparison)
|
2011-09-11 16:56:38 -05:00 |
|
Jesse Beder
|
ecdd9cc66d
|
Added computing and caching the sequence size
|
2011-09-11 16:21:36 -05:00 |
|
Jesse Beder
|
2d81e46655
|
Added dependency management (to cause nodes to become defined if their children do)
|
2011-09-11 15:59:53 -05:00 |
|
Jesse Beder
|
2d06df474b
|
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 |
|
Jesse Beder
|
80cf3c98db
|
Fixed minor things that used the old API, compiles/links/runs\!
|
2011-09-10 22:59:27 -05:00 |
|
Jesse Beder
|
0d1b5224c8
|
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 |
|
Jesse Beder
|
ac81d7c883
|
Start of moving Value -> Node and Node -> old API Node (with a #define toggle)
|
2011-09-10 17:18:15 -05:00 |
|
Jesse Beder
|
78b7a1b8a9
|
Added helper emitter functions, but we have a problem: YAML::Value is already a manipulator
|
2011-09-10 16:50:44 -05:00 |
|
Jesse Beder
|
5012063143
|
Fixed node iterator
|
2011-09-10 14:36:10 -05:00 |
|
Jesse Beder
|
c3b0ba9d61
|
New iterators work\!
|
2011-09-10 14:16:50 -05:00 |
|
Jesse Beder
|
4fdbb748ec
|
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 |
|
Jesse Beder
|
b1730ea3da
|
Finished the main iterator stuff, now have to hook it to the nodes/values
|
2011-09-10 14:06:49 -05:00 |
|
Jesse Beder
|
3865d37bc7
|
Halfway towards factoring out a node_iterator, and then building iterator on top of it
|
2011-09-10 13:20:22 -05:00 |
|
Jesse Beder
|
f5a9d4c8e3
|
Started emitting events for Values
|
2011-09-10 12:42:42 -05:00 |
|
Jesse Beder
|
09beb5c47a
|
Implemented sugar Parse() functions
|
2011-09-09 23:40:19 -05:00 |
|
Jesse Beder
|
6e03bebeb0
|
Implemented (untested) the value builder
|
2011-09-09 23:28:21 -05:00 |
|
Jesse Beder
|
cf198080d0
|
Sequence iterator works\!
|
2011-09-09 19:22:17 -05:00 |
|
Jesse Beder
|
190a556756
|
Switched iterators to typedef's, with a bit of finagling so we can forward-declare them
|
2011-09-09 19:07:37 -05:00 |
|
Jesse Beder
|
9aa3eb56f2
|
Base iterator stuff compiles :)
|
2011-09-09 18:46:37 -05:00 |
|
Jesse Beder
|
ff1a8fc59a
|
Started writing new iterators
|
2011-09-09 16:17:59 -05:00 |
|
Jesse Beder
|
7bbf712c36
|
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 |
|
Jesse Beder
|
9b985c5ce2
|
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 |
|
Jesse Beder
|
d3bbd08273
|
Added append()
|
2011-09-09 02:51:35 -05:00 |
|
Jesse Beder
|
ec95e61c04
|
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 |
|
Jesse Beder
|
6ffc9ac788
|
Added half of the std::map conversion (we don't have reading from Values yet)
|
2011-09-08 02:10:04 -05:00 |
|
Jesse Beder
|
0e197b8723
|
Added back the streamable conversions
|
2011-09-08 02:05:03 -05:00 |
|
Jesse Beder
|
3d84f57008
|
Switched convert to a templated struct that can be specialized (so we can partially specialize it)
|
2011-09-08 02:02:15 -05:00 |
|
Jesse Beder
|
a95baeafd6
|
Implemented conversion for std::string, including a bypass-accessor to the scalar value
|
2011-09-07 15:49:01 -05:00 |
|
Jesse Beder
|
1ab16bac62
|
Set the 'memory' to only store node_refs, not nodes
|
2011-09-07 14:56:04 -05:00 |
|
Jesse Beder
|
4aa61944fe
|
Implemented is()
|
2011-09-07 14:46:25 -05:00 |
|
Jesse Beder
|
e225509210
|
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 |
|
Jesse Beder
|
d1eca90216
|
Implemented map get(), and it would work (I think) if we implemented convert() for strings
|
2011-09-07 03:36:50 -05:00 |
|
Jesse Beder
|
020cd97915
|
Set up map searching by templated key
|
2011-09-07 03:21:24 -05:00 |
|
Jesse Beder
|
f0174ca08b
|
Reorganized so that we don't have cyclic include problems
|
2011-09-07 02:59:58 -05:00 |
|
Jesse Beder
|
fed95c5da4
|
Implemented map access by already-existing node
|
2011-09-07 02:39:59 -05:00 |
|
Jesse Beder
|
a530630f1c
|
Started implementing node_data
|
2011-09-07 00:45:28 -05:00 |
|
Jesse Beder
|
00e4a56d15
|
Compiles/links assignment to string
|
2011-09-07 00:20:23 -05:00 |
|
Jesse Beder
|
1e6877043e
|
Value stuff compiles/links with lots of placeholder functions
|
2011-09-07 00:12:24 -05:00 |
|