beder
40c6e63ec3
Added dependency management (to cause nodes to become defined if their children do)
2011-09-11 15:59:53 -05:00
beder
8bc95ce0ce
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
ad817d94fd
Fixed minor things that used the old API, compiles/links/runs\!
2011-09-10 22:59:27 -05:00
beder
9388bbd098
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
f806a4ec98
Start of moving Value -> Node and Node -> old API Node (with a #define toggle)
2011-09-10 17:18:15 -05:00
beder
2adb8e2b59
Added helper emitter functions, but we have a problem: YAML::Value is already a manipulator
2011-09-10 16:50:44 -05:00
beder
dd2099cacf
Fixed node iterator
2011-09-10 14:36:10 -05:00
beder
48f73def9e
New iterators work\!
2011-09-10 14:16:50 -05:00
beder
9bd46b6cd0
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
6fd3ee75b0
Finished the main iterator stuff, now have to hook it to the nodes/values
2011-09-10 14:06:49 -05:00
beder
c2f37961d3
Halfway towards factoring out a node_iterator, and then building iterator on top of it
2011-09-10 13:20:22 -05:00
beder
dc52117083
Started emitting events for Values
2011-09-10 12:42:42 -05:00
beder
ca58193832
Implemented sugar Parse() functions
2011-09-09 23:40:19 -05:00
beder
20c6bd516d
Implemented (untested) the value builder
2011-09-09 23:28:21 -05:00
beder
91701f31a6
Sequence iterator works\!
2011-09-09 19:22:17 -05:00
beder
1aa7125ba1
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
74b6de85b8
Base iterator stuff compiles :)
2011-09-09 18:46:37 -05:00
beder
df6a7eb91d
Started writing new iterators
2011-09-09 16:17:59 -05:00
beder
56ee6e370a
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
effbfd26b8
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
804cdb9364
Added append()
2011-09-09 02:51:35 -05:00
beder
27616e65cd
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
570f97d303
Added half of the std::map conversion (we don't have reading from Values yet)
2011-09-08 02:10:04 -05:00
beder
5e58d778db
Added back the streamable conversions
2011-09-08 02:05:03 -05:00
beder
43058e86a4
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
b9ad65a739
Implemented conversion for std::string, including a bypass-accessor to the scalar value
2011-09-07 15:49:01 -05:00
beder
5349dfa31c
Set the 'memory' to only store node_refs, not nodes
2011-09-07 14:56:04 -05:00
beder
907868b67d
Implemented is()
2011-09-07 14:46:25 -05:00
beder
81097ebbc0
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
9add3a5947
Implemented map get(), and it would work (I think) if we implemented convert() for strings
2011-09-07 03:36:50 -05:00
beder
9ac003cb61
Set up map searching by templated key
2011-09-07 03:21:24 -05:00
beder
563b789cfb
Reorganized so that we don't have cyclic include problems
2011-09-07 02:59:58 -05:00
beder
e6ca3f3e69
Implemented map access by already-existing node
2011-09-07 02:39:59 -05:00
beder
327ad93dc6
Started implementing node_data
2011-09-07 00:45:28 -05:00
beder
5ec459c31d
Compiles/links assignment to string
2011-09-07 00:20:23 -05:00
beder
33a1d25c73
Value stuff compiles/links with lots of placeholder functions
2011-09-07 00:12:24 -05:00
beder
659e8207a0
Sketched more of the implementation
2011-09-06 23:11:38 -05:00
beder
f027c5a0ba
Moved the value header to its own subfolder
2011-09-06 16:06:46 -05:00
beder
33b630dc71
Sketched out interface for YAML::Value
2011-09-06 01:43:15 -05:00
beder
2e59a9d721
Switched YAML::Binary interface to use unsigned chars, not chars
2011-09-06 00:39:31 -05:00
beder
ed4431d584
Added overload for operator [] for char * (non-const version)
2011-09-06 00:32:53 -05:00
beder
bf3d1f00c8
Switched the 'pragma once' to only happen on MSVC, or gcc >= 3.4 (it was causing trouble on the sun compiler)
2011-09-06 00:16:03 -05:00
jbeder
d7a8e41338
Removed ATOMIC_TYPE, an old enum that wasn't used any more
2011-08-22 21:37:51 +00:00
jbeder
bd60bdb227
Fixed negative infinity parsing
2011-07-10 18:29:44 +00:00
jbeder
207b719966
Added parsing .inf and .nan (and friend)
2011-07-10 16:27:40 +00:00
jbeder
4b522aaf4c
Added emitting std::set (and refactored the stl emitters a bit)
2011-05-18 21:07:25 +00:00
jbeder
ad63662bd9
Fixed mixed line endings
2011-03-17 02:04:34 +00:00
jbeder
88b9ea7067
Marked Parser, Emitter, Node, Iterator, Mark, and Null for exporting to a DLL. It appears to work properly, although VS gives me lots of warning C4251 since I didn't export all data members of each of the above classes.
...
It seems that it's not necessary to export those members (as long as you can't access them), and most of them are STL instances, which apparently cause lots of problems for DLLs. (For example, you simply can't export instances of std::map; see http://support.microsoft.com/kb/168958 .)
2011-03-16 02:31:30 +00:00
jbeder
afa6cf2b68
Removed comparison/implicit conversion operators for Node, and renamed Node::Read<T>() to Node::to<T>()
2011-03-15 05:49:56 +00:00
jbeder
a19be21c60
Added explicit doc start/end tokens for the emitter, and set it so that if you try to write after you've already written a full doc, it writes a doc start and continues
2011-03-03 09:26:12 +00:00