beder
8d10fa4efd
Implemented begin/end doc
2012-05-21 16:54:45 -05:00
beder
db8d4a45f9
Removed old emitter state machine
2012-05-21 16:31:07 -05:00
beder
569cea2df4
Switched the emitter state enums to scoped enums
2012-05-21 15:05:17 -05:00
beder
8cc1952f78
Fixed tag for implicit map
2012-05-19 22:38:12 -05:00
beder
58de8b9ae5
Removed traces of old-api Node
2012-05-19 01:19:03 -05:00
beder
c1e890df85
Removed old-api tests, added (empty) core spec tests
2012-05-19 01:16:54 -05:00
beder
a54fe9cea9
First pass at spearating out a 'core' library from the old api (default) branch
2012-05-19 01:04:43 -05:00
beder
cc49e48cde
Fixed reading bad memory error
2012-05-14 23:09:25 -05:00
beder
92d7a27538
Patched signed -> unsigned warning (issue 98)
2012-02-14 10:11:44 -06:00
beder
2eb3815ff5
Added operator >> overload for Binary
2012-01-21 02:01:37 -06:00
beder
ce08203cd7
Renamed the base64 methods, and switched the EncodeBase64 one to return a string (to make it easy to use elsewhere)
2012-01-21 01:33:49 -06:00
beder
c193d053a2
Refactored the base64 binary to its own space with a unified class that (will) be used for parsing (in addition to emitting)
2012-01-21 01:18:37 -06:00
beder
005ea5fc68
Put all the old-api stuff back in the main folder, for simplicity
2012-01-20 23:55:39 -06:00
beder
45962234a1
Removed the new API from the default branch
2012-01-20 23:50:39 -06:00
beder
4e7aac7273
Fixed hex and oct emitting (it now adds the 0x or 0 prefix)
2012-01-13 00:00:11 -06:00
beder
414f28518b
Added LoadFile and LoadAllFromFile (new API)
2012-01-11 21:31:01 -06:00
beder
080121ec62
Fixed bug in parsing escaped newline (it was being clipped like a regular newline)
2012-01-11 17:55:27 -06:00
beder
4abe207421
Fixed signed/unsigned mismatch with the new precision code
2012-01-11 16:50:06 -06:00
beder
fa39efd6ac
Disallowed a plain scalar with just a dash
2012-01-11 16:39:24 -06:00
beder
64b2491a79
Added float/double precision setters
2012-01-11 14:34:04 -06:00
beder
63ef6c42d1
Fixed compiler error in iterator_base friend forward declaration in node on clang (and I hope MSVC), plus warnings on clang
2012-01-07 01:42:21 -06:00
beder
0d12b0ac1f
Added single character emitting
2011-11-14 16:23:14 -06:00
beder
06cba07048
Fixed emitter bug with colon at the end of a scalar in a flow collection
2011-10-31 19:16:17 -05:00
beder
21de6ba56c
Switched the utf bom checking to putback in the stream (instead of keeping a secondary buffer), which fixes a bug when there's only one ascii character
2011-10-20 22:29:41 -05:00
beder
7e96c0d948
Fixed broken includes when using the old api
2011-10-18 15:13:10 -05:00
beder
8fd4bc3d99
Fixed the #ifdefs for the api stuff
2011-10-18 14:47:35 -05:00
beder
e863456384
Moved conversion.cpp to the old api, where it belongs
2011-09-14 01:49:06 -05:00
beder
c8d4f3237b
Added bool conversions
2011-09-14 01:48:36 -05:00
beder
cabe5fdef8
Added Dump()
2011-09-13 14:49:00 -05:00
beder
8f1c75e081
Added tags to Node emitter output
2011-09-13 14:47:33 -05:00
beder
fbf4233e4d
Switched YAML::Parse to YAML::Load, and added LoadAll
2011-09-13 14:24:47 -05:00
beder
b74bb2a32a
Copied 2.x tests with tags
2011-09-13 14:07:22 -05:00
beder
912113ed68
Added tags to Node
2011-09-13 14:00:47 -05:00
beder
0e17c63e6a
Fixed NodeBuilder bug when an alias was in a map - we weren't pushing that guy as a key
2011-09-12 14:24:27 -05:00
beder
1d632439cc
Fixed new API node key/value insertion in NodeBuilder (it was using the wrong condition on when it had added a key already)
2011-09-12 13:25:41 -05:00
beder
e3491a5ad8
Started specialization for operator[] for integers
2011-09-11 21:32:47 -05:00
beder
02d73a8d40
Set the map iterator to filter over undefined items
2011-09-11 19:44:27 -05:00
beder
01f3c7342c
Implemented the map size computation
2011-09-11 17:16:26 -05:00
beder
3f0796bef1
Switched the implementation of maps from list<pair> to map (but just pointer comparison)
2011-09-11 16:56:38 -05:00
beder
8efde57f3f
Added computing and caching the sequence size
2011-09-11 16:21:36 -05:00
beder
40c6e63ec3
Added dependency management (to cause nodes to become defined if their children do)
2011-09-11 15:59:53 -05:00
beder
c0a9e9b6cb
Added a few simple node tests, and the sequence one doesn't pass (let's work now)
2011-09-10 23:31:12 -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
b23ce06c6e
Implemented value events emitter
2011-09-10 16:23:18 -05:00
beder
dd2099cacf
Fixed node iterator
2011-09-10 14:36:10 -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
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
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
804cdb9364
Added append()
2011-09-09 02:51:35 -05:00
beder
06dd91dba9
Switched operator[] access to node reference equality, not node equality
2011-09-09 02:39:36 -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
783eea07ee
Added streamable conversions
2011-09-08 00:48:40 -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
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
2e59a9d721
Switched YAML::Binary interface to use unsigned chars, not chars
2011-09-06 00:39:31 -05:00
beder
239aaa97b5
Fixed empty string emitter bug (it now with auto-quote it
2011-09-06 00:24:10 -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
9768086bd8
Forced a newline after any comments
2011-08-04 21:47:57 +00:00
jbeder
b8561dd559
Included <cstddef> for NULL
2011-08-04 18:47:37 +00:00
jbeder
19a27d2c1a
Added include <cstdlib> for using 'NULL' (apparently gcc 4.6 is more strict)
2011-05-03 21:55:49 +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
5eb044d949
Added newline at the end
2011-03-10 00:23:15 +00:00
jbeder
e1245353c4
Fixed folding bug (detecting indentation, example 8.2), and clipping/stripping empty strings (example 8.6)
2011-03-04 02:26:59 +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
jbeder
8d2c708d69
Removed the default --- at the start of all emitter output
2011-03-03 08:57:00 +00:00
jbeder
31d3fbb931
Switched the scanner list of owned indent markers to a ptr_vector
2011-03-03 08:34:30 +00:00
jbeder
6ec947f6aa
Switched the emitter state's stack of groups to a ptr_stack
2011-03-03 08:11:14 +00:00
jbeder
724a834256
Compressed the sequence-of-maps emitting (got rid of the unnecessary newline) - issue 61
2011-03-03 03:37:54 +00:00
jbeder
1f3cf8639a
Merged r444:449 from the node refactoring branch to the trunk
2011-03-03 00:19:26 +00:00
jbeder
ae3d8bff39
Prettied up the bool formatting code
2011-03-02 20:59:39 +00:00
jbeder
067bd9866f
Refactored bool emitting to make it 1) correct for the short bool form and 2) not barf on early versions of VS
2011-03-02 20:55:05 +00:00
jbeder
e227456982
Flipped the include guard and the pragma, and don't use the pragma for early versions of gcc (< 3.4)
2011-03-02 06:11:41 +00:00
jbeder
b1eb2f53a8
Small changes to eliminate compiler warnings for 'nite' in issue 83
2011-03-02 05:29:46 +00:00
jbeder
d2ceb0ad77
Moved the local structs from Emitter::Write(bool) to an anonymous namespace in the hopes that Visual Studio <= 2003 will be happy
2011-03-02 05:21:25 +00:00
jbeder
faeb0425d8
Merged contrib folders from the graphbuilder-api branch, including the recursive search in CMakeLists.txt
2011-03-02 04:48:04 +00:00
jbeder
9a1ffcad7c
Switched exception constants to const char * const (from const std::string) so we don't have to construct them all in every translation unit, and switched the exception class to derive from std::runtime_error (so it handles what() for us)
2011-03-02 04:12:57 +00:00
jbeder
c9b65a49b7
Included cstddef to stream.h
2011-02-05 22:28:08 +00:00
jbeder
581e92f63e
Added Anchor() regex (so that we're not just using Alphanumeric to match anchors), but it's still not 100% right (it shouldn't allow non-printable characters, e.g.). Also fixed a test that was broken along these lines (if a colon immediately follows an anchor, it's part of the anchor)
2011-01-31 17:47:20 +00:00
jbeder
7e3c476ba8
Fixed emitting colon at end of scalar bug
2010-12-03 21:52:04 +00:00
jbeder
2410cc6e9e
Refactored tags so we can emit secondary tags (and named local tags)
2010-10-28 23:06:16 +00:00
jbeder
b44e529d75
Implemented binary emitting without the binary tag
2010-10-28 21:53:54 +00:00
jbeder
fc35ace2d6
Refactored emitter so that it emits the : for an implicit key right away
2010-10-22 04:19:01 +00:00
jbeder
48e70e464a
Added more tests for the newline, and disallowed newlines after implicit block keys
2010-10-22 03:53:33 +00:00
jbeder
467eb4931b
Added YAML::Newline manipulator for the emitter
2010-10-21 22:02:29 +00:00
jbeder
2a46b5d0eb
Merged the other-tags branch into the trunk (this wasn't an rX:Y merge, since the branch wasn't branched directly from the head of the trunk)
2010-10-19 06:46:55 +00:00
jbeder
3aafbdac96
Moved all the includes to a subfolder yaml-cpp so they don't interfere with other libraries' includes
2010-10-18 07:05:53 +00:00