Jesse Beder
6276189716
Merged ? fix from core
2012-11-08 19:12:22 -06:00
Jesse Beder
8c517bf0fd
Fixed parsing ? when attached to a scalar
2012-11-08 19:11:41 -06:00
Jesse Beder
15b60e2a3b
Added failing test for parsing a ? at the start of a value
2012-11-08 19:00:46 -06:00
Jesse Beder
4e1bdd08d3
Removed that failing test - I don't think the parser is correct here
2012-11-08 18:54:53 -06:00
Jesse Beder
490265cf22
Added failing tests for emitter ? at the start of a value
2012-11-08 18:52:54 -06:00
Jesse Beder
bcdda4027f
Added Node::clear() function
2012-11-08 18:47:22 -06:00
Jesse Beder
eb02dd8dc3
Fixed typo from null fix
2012-11-08 18:40:44 -06:00
Jesse Beder
5721ac6194
Pulled 'null' renaming fix
2012-11-08 18:39:06 -06:00
Jesse Beder
0c72825303
Renamed all variables named 'null' (for real now, and only that)
2012-11-08 18:38:20 -06:00
Jesse Beder
6539648dac
Merge from core + revert
2012-11-08 18:34:09 -06:00
Jesse Beder
b12e4b0781
Merged from core, rfaef276b1f6e
2012-11-08 18:33:12 -06:00
Jesse Beder
16f05e73b9
Reverted last change
2012-11-08 18:24:00 -06:00
Jesse Beder
06e09d1d64
Renamed all variables named 'null'
2012-11-08 18:21:00 -06:00
Jesse Beder
0c772c4c3f
Set LoadFile and LoadAllFromFile to throw an exception if we can't load the file
2012-11-08 18:14:26 -06:00
Jesse Beder
a03e861d8c
Switched map's convert<> specialization to use the new force_insert
2012-10-31 19:10:45 -05:00
Jesse Beder
09b4706faf
Added force_insert for mapping nodes that doesn't check to see if the key exists already (so it could duplicate keys)
2012-10-31 19:08:09 -05:00
Jesse Beder
a645866ffa
Simplified Node::operator[] interface by removing the C-string overloads, using a helper to_value
2012-10-31 18:55:07 -05:00
Jesse Beder
979a91692f
Added small 'read' program to test reading a single doc (from stdin)
2012-09-15 16:29:07 -07:00
Jesse Beder
1d1d6886cc
Fixed typo in the core parser tests
2012-09-15 15:50:44 -07:00
Jeff Wang
d770a7dc97
workaround for gcc 3
2012-07-17 11:55:45 -05:00
Jesse Beder
823311384f
Added free Clone() function for Nodes
2012-07-04 15:26:37 -05:00
Jesse Beder
f29ea4b070
Merged end of map/seq flow fix from core
2012-06-09 14:42:00 -05:00
Jesse Beder
68dd9b5d18
Fixed bug where the parser doesn't find the end of a map or seq flow
2012-06-09 14:39:00 -05:00
Jesse Beder
2d815c5d6a
Added extra parser tests for the core; in particular, one that asserts instead of throwing
2012-06-09 14:26:44 -05:00
Jesse Beder
c722684f0d
Removed unnecessary forward declarations
2012-06-08 10:26:49 -05:00
Jesse Beder
5c097d417a
Removed stray GetNextDocument declaration from the parser (it's from the old API, and not the new one)
2012-06-08 10:25:42 -05:00
Jesse Beder
ab36ca930f
Updated from core (emitter)
2012-05-25 19:39:15 -05:00
Jesse Beder
d5130a4109
Changed Emitter::size() to return std::size_t instead of unsigned
2012-05-25 19:38:58 -05:00
Jesse Beder
6c690e8294
Updated the ostream emitting overload to user the new ostream-handling emitters
2012-05-25 19:38:20 -05:00
Jesse Beder
a78069a6e2
Merged ostreams for the emitter change from the core
2012-05-25 19:35:24 -05:00
Jesse Beder
bc3f72b565
Switched the stream << for c-strings to take a templated array param (since we never stream user-built c-strings, only string literals). For this, refactored the escape character display
2012-05-25 19:33:34 -05:00
Jesse Beder
772969270d
Refactored stream overloads
2012-05-25 18:24:07 -05:00
Jesse Beder
2ffdc5b4d1
Added constructor to the Emitter with a stream, so you can write directly to a stream instead of our temp
2012-05-25 18:22:33 -05:00
Jesse Beder
e6d4a915dc
Switched the ostream wrapper to wrap a std::vector<char> instead of our manually managed memory
2012-05-25 18:17:14 -05:00
Jesse Beder
7c85e9d5de
Updated ostream wrapper with a write() and update_pos
2012-05-25 17:39:14 -05:00
Jesse Beder
1602f78974
Renamed ostream -> ostream_wrapper
2012-05-25 17:28:35 -05:00
Jesse Beder
4116d89f2c
Merged emitter refactor from core
2012-05-23 15:30:03 -05:00
Jesse Beder
2dd1cf4596
Added compiler flag to compile the generated tests, since gcc takes *forever* to compile them
2012-05-23 15:16:34 -05:00
Jesse Beder
f011975769
Fixed handler macros to remove warnings in gcc
2012-05-23 15:12:36 -05:00
Jesse Beder
288c7e51f2
Added seq/map gen emitter tests
2012-05-23 11:20:36 -05:00
Jesse Beder
52813050d2
Fixed map/comment/seq emitting
2012-05-23 11:18:53 -05:00
Jesse Beder
1ab9469f10
Added map/seq gen emitter tests, including some failing ones
2012-05-23 11:16:32 -05:00
Jesse Beder
3ddfeff4f5
Added seq gen emitter tests
2012-05-23 11:11:50 -05:00
Jesse Beder
fdfffb0916
Added gen emitter tests
2012-05-23 11:02:42 -05:00
Jesse Beder
52d01ff154
Fixed top-level comment emitting
2012-05-23 11:02:17 -05:00
Jesse Beder
c197d822c1
Updated gen emitter tests
2012-05-23 11:00:33 -05:00
Jesse Beder
277132a21f
Refactored emitter test template code
2012-05-23 10:56:16 -05:00
Jesse Beder
5af3fc04c6
Registered all the generated emitter tests
2012-05-22 22:17:50 -05:00
Jesse Beder
0fb59c18dd
Split test struct and handler macros out for the emitter/spec tests
2012-05-22 22:10:47 -05:00
Jesse Beder
115101d25d
Updated emitter test script, and moved handler macros to own include file
2012-05-22 21:59:12 -05:00
Jesse Beder
8d529cbcf2
Started emitting test generator
2012-05-22 19:31:23 -05:00
Jesse Beder
7d7075fdf9
Set indentation to be at least 2
2012-05-22 18:01:48 -05:00
Jesse Beder
8aabc0766b
Fixed indentation test - all emitter tests now pass
2012-05-22 17:56:07 -05:00
Jesse Beder
abd49d8bca
Added null
2012-05-22 17:55:17 -05:00
Jesse Beder
8b3778a639
Fixed warnings
2012-05-22 17:50:40 -05:00
Jesse Beder
0abbf650b5
Fixed char output
2012-05-22 17:50:10 -05:00
Jesse Beder
c664d50d5c
Fixed double quote escapes (e.g., \n is now that instead of \x0a)
2012-05-22 17:45:31 -05:00
Jesse Beder
ad275901b2
Switched single quoted test to positive test (since we just convert to double quoted)
2012-05-22 16:59:39 -05:00
Jesse Beder
a6fe313d32
Removed key/value error checks (since we don't require asking them)
2012-05-22 16:57:30 -05:00
Jesse Beder
4123583159
Fixed end seq/map error msg
2012-05-22 16:56:10 -05:00
Jesse Beder
2c2b788391
Fixed doc start/end
2012-05-22 16:53:40 -05:00
Jesse Beder
bc884061e2
Fixed some newline/comma tests
2012-05-22 16:49:09 -05:00
Jesse Beder
611d243b84
Fixed global setting indentation
2012-05-22 16:47:08 -05:00
Jesse Beder
b2f9a61c46
Fixed emitter tests with newlines
2012-05-22 16:44:49 -05:00
Jesse Beder
f4278fe39f
Added long key flow map
2012-05-22 16:41:03 -05:00
Jesse Beder
676e0b94ac
Fixed flow seq/map indentation
2012-05-22 16:39:03 -05:00
Jesse Beder
0e3e6791ff
Added flow map, simple key/value
2012-05-22 16:36:07 -05:00
Jesse Beder
b8a87c43bc
Added flow seq
2012-05-22 15:42:45 -05:00
Jesse Beder
2670ce8aaf
Fixed bool formatting
2012-05-22 15:08:21 -05:00
Jesse Beder
faa2e50605
Forced literal scalars to use long keys
2012-05-22 15:07:11 -05:00
Jesse Beder
cdfbac1fd7
Fixed some tests with the new compact long keys
2012-05-22 15:02:36 -05:00
Jesse Beder
944ebb7d1e
Fixed settings reverting properly
2012-05-22 15:00:10 -05:00
Jesse Beder
bf07af52ff
Added long key
2012-05-22 14:26:34 -05:00
Jesse Beder
41e4cd3308
Split block map simple/long key for both key/value
2012-05-22 14:20:50 -05:00
Jesse Beder
952fe51c73
Added writing float/double
2012-05-22 13:59:31 -05:00
Jesse Beder
c95bcae49f
Added writing integral types
2012-05-22 13:57:44 -05:00
Jesse Beder
cc559956a0
Added bool, char, binary
2012-05-22 13:53:03 -05:00
Jesse Beder
879f96d2f6
Tweak sandbox
2012-05-22 12:59:58 -05:00
Jesse Beder
5e0886db87
Fixed block map prepare value (where the colon goes)
2012-05-22 12:59:07 -05:00
Jesse Beder
a626424baa
Split the block map prepare into key/value
2012-05-22 12:56:40 -05:00
Jesse Beder
80823583a0
Tweaked spacing for comments
2012-05-22 12:54:54 -05:00
Jesse Beder
eef692d7b2
Fixed when we emit the doc start (only if there already is a document in the stream, and we're about to emit a new node)
2012-05-22 12:37:00 -05:00
Jesse Beder
0814813302
Added comments, not entirely correct
2012-05-22 12:29:36 -05:00
Jesse Beder
0f3f1e26a7
Fixed map/value
2012-05-21 23:47:57 -05:00
Jesse Beder
f72e325c40
Renamed begin/end scalar/group to started/ended scalar/group
2012-05-21 23:39:45 -05:00
Jesse Beder
07e88a78cb
Added alias
2012-05-21 23:37:49 -05:00
Jesse Beder
c5e4bdee94
Fixed newline
2012-05-21 23:34:42 -05:00
Jesse Beder
d3801b7482
Added newlines, fixed map/map
2012-05-21 23:29:59 -05:00
Jesse Beder
b0dd0f862a
Fixed anchor/tag in seq > map
2012-05-21 23:23:53 -05:00
Jesse Beder
3cae26a75e
Added tags and anchors
2012-05-21 23:19:29 -05:00
Jesse Beder
91eac5d93d
Implemented block seq and block map indentation/newlines
2012-05-21 22:14:26 -05:00
Jesse Beder
35d827f187
Structured emitter node handling better
2012-05-21 21:57:25 -05:00
Jesse Beder
23fb2dc811
Fixed basic block seq indentation
2012-05-21 21:11:03 -05:00
Jesse Beder
b5d8241dfa
Added block seq indentation
2012-05-21 21:04:10 -05:00
Jesse Beder
d86cfc1c63
Implemented the Write for scalars (including checking which type of scalar it should be)
2012-05-21 19:07:56 -05:00
Jesse Beder
65d80ebc11
Started prepare node
2012-05-21 17:06:12 -05:00
Jesse Beder
923ccc8fed
Implemented begin/end doc
2012-05-21 16:54:45 -05:00
Jesse Beder
5a2183f55b
Removed old emitter state machine
2012-05-21 16:31:07 -05:00
Jesse Beder
41c2ddc03e
Switched the emitter state enums to scoped enums
2012-05-21 15:05:17 -05:00
Jesse Beder
39165338e0
Added sandbox to play with
2012-05-20 01:46:08 -05:00
Jesse Beder
d8bdeb5b51
Added failing test for compact map with newline
2012-05-20 01:31:57 -05:00
Jesse Beder
16fd111a6b
Fixed formatting for spec tests
2012-05-20 01:19:27 -05:00
Jesse Beder
f17cfacdbb
Updated from core
2012-05-19 22:39:36 -05:00
Jesse Beder
030f48583a
Fixed tag for implicit map
2012-05-19 22:38:12 -05:00
Jesse Beder
729ac991c7
Added 8.x tests
2012-05-19 22:24:20 -05:00
Jesse Beder
7d57209033
Added 7.x tests
2012-05-19 21:43:22 -05:00
Jesse Beder
4086c285fa
Added 6.x tests
2012-05-19 21:08:58 -05:00
Jesse Beder
4245c36a84
Added 5.x tests
2012-05-19 20:40:42 -05:00
Jesse Beder
84b68c3868
Added all the 2.x tests
2012-05-19 18:43:02 -05:00
Jesse Beder
c2b22d6129
Added framework for spectests with event handling
2012-05-19 17:53:43 -05:00
Jesse Beder
58d4fedfc3
Backed out of removing parse
2012-05-19 15:55:13 -05:00
Jesse Beder
55fc800989
Updated from core
2012-05-19 15:54:52 -05:00
Jesse Beder
1f4d8ee3b4
Removed parse
2012-05-19 15:52:43 -05:00
Jesse Beder
e09fbacd35
Updated from core
2012-05-19 15:40:30 -05:00
Jesse Beder
06cb65c6b3
Removed stl node, which was from the old-api but never deleted
2012-05-19 15:37:39 -05:00
Jesse Beder
6c8b369312
Updated CMakeLists from new-api
2012-05-19 15:36:22 -05:00
Jesse Beder
be92547264
Added old parse utility
2012-05-19 15:34:49 -05:00
Jesse Beder
c22512649e
Copied all files from new-api branch of old repo
2012-05-19 15:34:02 -05:00
Jesse Beder
c8a539f4f4
Removed old api exceptions
2012-05-19 01:32:10 -05:00
Jesse Beder
683c60f490
Removed traces of old-api Node
2012-05-19 01:19:03 -05:00
Jesse Beder
a183293ff0
Removed old-api tests, added (empty) core spec tests
2012-05-19 01:16:54 -05:00
Jesse Beder
0d32d19ed8
First pass at spearating out a 'core' library from the old api (default) branch
2012-05-19 01:04:43 -05:00
Jesse Beder
fca7b7e190
Fixed reading bad memory error
2012-05-14 23:09:25 -05:00
Jesse Beder
4ca9269e24
Patched signed -> unsigned warning (issue 98)
2012-02-14 10:11:44 -06:00
Jesse Beder
d6a0fc6f01
Fixed warning about binary's shadowing members functions
2012-01-25 17:40:16 -06:00
Jesse Beder
5d6e09d699
Added tag release-0.3.0 for changeset 6d37925fb440
2012-01-21 02:52:18 -06:00
Jesse Beder
572e940c83
Bumped version to 0.3.0
2012-01-21 02:51:56 -06:00
Jesse Beder
01eb370300
Added operator >> overload for Binary
2012-01-21 02:01:37 -06:00
Jesse Beder
d760d037ca
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
Jesse Beder
6105d4cfeb
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
Jesse Beder
e145488547
Added back yaml.h (since it used to be generated)
2012-01-21 00:08:35 -06:00
Jesse Beder
b688c93050
Put all the old-api stuff back in the main folder, for simplicity
2012-01-20 23:55:39 -06:00
Jesse Beder
1723523c43
Removed the new API from the default branch
2012-01-20 23:50:39 -06:00
Jesse Beder
d772361f15
Fixed hex and oct emitting (it now adds the 0x or 0 prefix)
2012-01-13 00:00:11 -06:00
Jesse Beder
a441e1a14c
Added test for new API octal/hex conversion
2012-01-12 23:55:15 -06:00
Jesse Beder
fb0802097c
Fixed double -> int conversion (now throws) for old API
2012-01-12 23:52:51 -06:00
Jesse Beder
643ea61a98
Updated new API conversion to handle nan/inf and to throw when the conversion didn't use the entire string (e.g., parsing 1.2 as an integer)
2012-01-12 23:49:05 -06:00
Jesse Beder
d1e4c2640c
Added default parameters for the as<> function (new API)
2012-01-12 01:03:31 -06:00
Jesse Beder
ddc578dbd7
Added LoadFile and LoadAllFromFile (new API)
2012-01-11 21:31:01 -06:00
Jesse Beder
8906ae9a0d
Fixed bug in parsing escaped newline (it was being clipped like a regular newline)
2012-01-11 17:55:27 -06:00
Jesse Beder
4e350e5808
Removed some extra stuff in the comment/newline in flow map tests, which really should be illegal (since implicit keys can't span multiple lines). It would be impossible to fix if we keep the immediate-output we're doing now - the only way to prevent it would be to hold on to a key's text until we got to the value token to make sure it could be an implicit key
2012-01-11 17:06:27 -06:00
Jesse Beder
7ace0e93d2
Fixed signed/unsigned mismatch with the new precision code
2012-01-11 16:50:06 -06:00
Jesse Beder
0e61ddb6d9
Added parsing emitter tests with the new API, two fail
2012-01-11 16:41:13 -06:00
Jesse Beder
97fa02a484
Disallowed a plain scalar with just a dash
2012-01-11 16:39:24 -06:00
Jesse Beder
5024caa69c
Added float/double precision setters
2012-01-11 14:34:04 -06:00
Jesse Beder
21ed2b5817
Added explicit conversion from an iterator value to a Node. This conversion was always allowed (since the iterator value is derived from Node, but since Node has a templated constructor, that would take precedence over the derived-to-base conversion. This didn't seem to be a problem in gcc or clang, but MSVC seems to have trouble. (new API)
2012-01-11 13:58:18 -06:00
Jesse Beder
92a35581d7
Added boost find/includes to the new API CMake instructions
2012-01-11 13:19:31 -06:00
Jesse Beder
5b32d89222
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
Jesse Beder
812a2dc684
Fixed assignment with an empty node (new API) - a segfault that only showed up in debuggable
2011-12-20 22:19:54 -06:00
Jesse Beder
add460947b
Added overload for emitting unsigned char
2011-11-14 17:00:28 -06:00
Jesse Beder
3099d51ba4
Added single character emitting
2011-11-14 16:23:14 -06:00
Jesse Beder
6f4608ce05
Added missing includes (iostream) for the tests
2011-11-13 16:12:39 -06:00
Jesse Beder
5abfbf5aac
Added (unspecified-type) bool conversions for Node (new API)
2011-11-13 16:05:42 -06:00
Jesse Beder
d78d16532a
Set the default operator >> to not compile unless there is a scalar conversion, so it doesn't interfere with user-defined types
2011-11-01 17:19:03 -05:00
Jesse Beder
62634f53ec
Fixed emitter bug with colon at the end of a scalar in a flow collection
2011-10-31 19:16:17 -05:00
Jesse Beder
860365b263
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
Jesse Beder
e8e5d4bc40
Fixed typo in computing private headers (no effect on the build, just for the project files)
2011-10-20 21:50:47 -05:00
Jesse Beder
b077e8390e
Added parser test for single char input (that fails)
2011-10-20 13:53:27 -05:00
Jesse Beder
c953ce0b07
Fixed broken includes when using the old api
2011-10-18 15:13:10 -05:00
Jesse Beder
f87dced5c9
Fixed installation (we now install the whole include header tree)
2011-10-18 14:55:31 -05:00
Jesse Beder
62361e6f27
Added a .hgignore file that ignores the generated yaml.h
2011-10-18 14:48:07 -05:00
Jesse Beder
70e1eb3f9c
Fixed the #ifdefs for the api stuff
2011-10-18 14:47:35 -05:00
Jesse Beder
77cc54585f
Couldn't get the copy command to work for yaml.h, so switched to configure_file
2011-10-18 14:43:48 -05:00
Jesse Beder
e69f51ee16
Split the yaml.h file into new/old API, which we'll then copy to yaml.h at build time (so the right one gets installed)
2011-10-18 00:16:51 -05:00
Jesse Beder
ee795d7e3e
Merged with the main branch, which just updated version count to 0.2.7
2011-09-18 00:26:18 -05:00
Jesse Beder
f6d6c90aa9
Updated old api spectests with common spec examples
2011-09-17 23:57:40 -05:00
Jesse Beder
d9c7bcf32f
Set the default build to the old API, and removed the duplicate spec test implementation for the old api
2011-09-17 23:46:48 -05:00
Jesse Beder
f3b230693a
Moved conversion.cpp to the old api, where it belongs
2011-09-14 01:49:06 -05:00
Jesse Beder
f64f619c29
Added bool conversions
2011-09-14 01:48:36 -05:00
Jesse Beder
8e5fc0e304
Added tag release-0.2.7 for changeset d0bed6918076
2011-09-14 01:23:25 -05:00
Jesse Beder
976e8b184c
Bumped version to 0.2.7
2011-09-14 01:23:15 -05:00
Jesse Beder
e5d0366797
Added Dump()
2011-09-13 14:49:00 -05:00
Jesse Beder
c3798d9bd4
Added tags to Node emitter output
2011-09-13 14:47:33 -05:00
Jesse Beder
40c47f6312
Finished adding old spec tests
2011-09-13 14:31:00 -05:00
Jesse Beder
e3d5ec189d
Switched YAML::Parse to YAML::Load, and added LoadAll
2011-09-13 14:24:47 -05:00
Jesse Beder
5be19ccbfd
Added 7.x and 8.x tests with tags - all that's left is multiple docs in stream
2011-09-13 14:20:32 -05:00
Jesse Beder
98830a4a15
Added 6.x tests with tags
2011-09-13 14:18:00 -05:00
Jesse Beder
3a88c4b4a1
Added IsNull, IsScalar, IsSequence, IsMap functions, so you don't have to query Type()
2011-09-13 14:10:27 -05:00
Jesse Beder
69af9b420a
Copied 2.x tests with tags
2011-09-13 14:07:22 -05:00
Jesse Beder
0987b234c3
Added tags to Node
2011-09-13 14:00:47 -05:00
Jesse Beder
2dfccbb945
Added a convert<> specialization for YAML::_Null (so you can say node[YAML::Null])
2011-09-13 02:03:56 -05:00
Jesse Beder
a9be4849d8
Copied over the 8.x tests that don't have tags
2011-09-13 01:56:44 -05:00
Jesse Beder
b1100d7c54
Copied over the 7.x tests that don't have tags
2011-09-13 01:46:42 -05:00
Jesse Beder
64e381f2c1
Copied over the 6.x tests that don't have tags
2011-09-13 01:36:27 -05:00
Jesse Beder
f6b728d56c
Copied over the 5.x tests
2011-09-13 01:28:32 -05:00
Jesse Beder
edd6650536
Copied over all the 2.x tests that are (a) single doc and (b) don't have tags
2011-09-13 01:23:30 -05:00
Jesse Beder
a04dfdeb07
Factored out spec examples, and sketched skeleton for spec tests for new API
2011-09-12 22:55:37 -05:00
Jesse Beder
1721750d9e
Added temp variable tests
2011-09-12 22:09:16 -05:00
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
fddc991b60
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
Jesse Beder
3337df7ca2
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
Jesse Beder
41533a8c49
Added failing self-reference tests
2011-09-12 12:48:51 -05:00
Jesse Beder
a6e1d4cf74
Added two alias tests
2011-09-12 12:42:23 -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
c2a8a2c1f7
Added failing map iterator count test
2011-09-11 17:36:08 -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
3a90454d50
Added some small map tests
2011-09-11 16:02:31 -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
b4963ab0fa
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
Jesse Beder
432268917b
Started Node tests (for the new API Node)
2011-09-10 23:22:30 -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
03fc837236
Set up util/parse for the new API
2011-09-10 23:03:02 -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
f7b2247217
Added stubs for spec and parser tests with the new API
2011-09-10 18:05:35 -05:00
Jesse Beder
36c63980b9
Moved old api tests to subfolder
2011-09-10 18:02:07 -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
12364895cb
Implemented value events emitter
2011-09-10 16:23:18 -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
a7bdf08c7e
Map iterator works\!
2011-09-09 19:25:11 -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
4f8680b540
Switched operator[] access to node reference equality, not node equality
2011-09-09 02:39:36 -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
a7ebb3615a
Added streamable conversions
2011-09-08 00:48:40 -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
Jesse Beder
248b18a2d0
Sketched more of the implementation
2011-09-06 23:11:38 -05:00
Jesse Beder
7e79edc058
Moved the value header to its own subfolder
2011-09-06 16:06:46 -05:00
Jesse Beder
8b97dfe77e
Sketched out interface for YAML::Value
2011-09-06 01:43:15 -05:00
Jesse Beder
3eeb270ef5
Merged from trunk
2011-09-06 01:10:27 -05:00
Jesse Beder
c1d75dd4f7
Added notes about the two failing tests - that they're (I think) bugs in the YAML spec
2011-09-06 01:05:14 -05:00
Jesse Beder
dd1eb715c4
Switched YAML::Binary interface to use unsigned chars, not chars
2011-09-06 00:39:31 -05:00
Jesse Beder
fadca5a89d
Added overload for operator [] for char * (non-const version)
2011-09-06 00:32:53 -05:00
Jesse Beder
7e129c9b64
Fixed empty string emitter bug (it now with auto-quote it
2011-09-06 00:24:10 -05:00
Jesse Beder
3e94c0a037
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
Jesse Beder
d7feb2e9b9
Added api sketch
2011-09-04 19:50:08 -05:00
Jesse Beder
8ba5e3fbf6
Added .hgeol for native eols
2011-08-24 02:59:58 -05:00
Jesse Beder
857c7d93a0
update tags
2011-08-24 13:44:56 +00:00
Jesse Beder
b690648308
Removed ATOMIC_TYPE, an old enum that wasn't used any more
2011-08-22 21:37:51 +00:00
Jesse Beder
d904b600a9
Added test for anchor/alias in flow
2011-08-04 21:50:04 +00:00
Jesse Beder
bacb74e8ec
Forced a newline after any comments
2011-08-04 21:47:57 +00:00
Jesse Beder
b1ac3289b8
Included <cstddef> for NULL
2011-08-04 18:47:37 +00:00
Jesse Beder
835b86d9f7
Fixed negative infinity parsing
2011-07-10 18:29:44 +00:00
Jesse Beder
94dc63af04
Added parsing .inf and .nan (and friend)
2011-07-10 16:27:40 +00:00
Jesse Beder
50474b6b9f
Fixed includedir for the .pc.cmake file
2011-05-29 02:17:49 +00:00
Jesse Beder
4c3926a5c7
Added emitting std::set (and refactored the stl emitters a bit)
2011-05-18 21:07:25 +00:00
Jesse Beder
9fbcfe9ec5
Added include <cstdlib> for using 'NULL' (apparently gcc 4.6 is more strict)
2011-05-03 21:55:49 +00:00
Jesse Beder
d98687afc3
Set version to 0.2.6
2011-03-30 01:33:02 +00:00
Jesse Beder
f42580be41
Switched project label to use 'nicer' suffix (e.g., md instead of /MD)
2011-03-21 23:03:01 +00:00
Jesse Beder
6e0e9554c6
Added eol-style=native prop to missing files
2011-03-17 02:06:10 +00:00
Jesse Beder
dc5bd4afce
Fixed mixed line endings
2011-03-17 02:04:34 +00:00
Jesse Beder
c67b41c966
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
Jesse Beder
221d17b0c6
Set eol-style to native for all sources
2011-03-16 01:13:41 +00:00
Jesse Beder
9a72702a61
Added option to disable compilation of contrib code
2011-03-16 01:10:57 +00:00
Jesse Beder
ebdfeb0349
Removed comparison/implicit conversion operators for Node, and renamed Node::Read<T>() to Node::to<T>()
2011-03-15 05:49:56 +00:00
Jesse Beder
6152fb345e
Added newline at the end
2011-03-10 00:23:15 +00:00
Jesse Beder
f9e1a882e8
Updated for error in spec test
2011-03-04 04:19:34 +00:00
Jesse Beder
681c862f54
Added spec tests through chapter 8, all new ones pass except 8.21, which I think is wrong
2011-03-04 04:14:08 +00:00
Jesse Beder
bb463d8d8b
Fixed folding bug (detecting indentation, example 8.2), and clipping/stripping empty strings (example 8.6)
2011-03-04 02:26:59 +00:00
Jesse Beder
943d000ab3
Refactored parse.cpp so that VS doesn't complain, added MinSizeRel build setting, and fixed numbering in the spec tests
2011-03-03 20:01:32 +00:00
Jesse Beder
cb632b3968
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
Jesse Beder
b9d4ccd254
Removed the default --- at the start of all emitter output
2011-03-03 08:57:00 +00:00
Jesse Beder
d6aeb16450
Switched the scanner list of owned indent markers to a ptr_vector
2011-03-03 08:34:30 +00:00
Jesse Beder
a518d87cfc
Switched the emitter state's stack of groups to a ptr_stack
2011-03-03 08:11:14 +00:00
Jesse Beder
27617ec2be
Added parsing of output to emitter tests
2011-03-03 08:04:30 +00:00
Jesse Beder
1f9cc2d327
Compressed the sequence-of-maps emitting (got rid of the unnecessary newline) - issue 61
2011-03-03 03:37:54 +00:00
Jesse Beder
9128d841f5
Set the precision of emitting float/double to 15
2011-03-03 02:38:35 +00:00
Jesse Beder
ca5992b971
Merged r444:449 from the node refactoring branch to the trunk
2011-03-03 00:19:26 +00:00
Jesse Beder
ced50538fe
Tiny formatting change in CMake file
2011-03-02 21:09:38 +00:00
Jesse Beder
1371fc446c
Removed the old, unsupported Visual Studio files (just build with CMake)
2011-03-02 21:03:03 +00:00
Jesse Beder
7998db8397
Prettied up the bool formatting code
2011-03-02 20:59:39 +00:00
Jesse Beder
39c396ab01
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
Jesse Beder
1e0c36c5cc
Included 'mark.h' in the graphbuilder so that its method for removing the unused param warning (casting to void) compiles on VS
2011-03-02 20:30:54 +00:00
Jesse Beder
f34d60ca65
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
Jesse Beder
4caedfda74
Small changes to eliminate compiler warnings for 'nite' in issue 83
2011-03-02 05:29:46 +00:00
Jesse Beder
2faeb76e2d
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
Jesse Beder
75a2fbe564
Fixed 'long long' error in VS 2002, issue 90
2011-03-02 05:15:36 +00:00
Jesse Beder
4d95e4da74
Merged the debuggable branch's CMakeLists.txt (and added a build for RelWithDebInfo) - note that the options are only for gcc
2011-03-02 05:02:01 +00:00
Jesse Beder
802cc6bcd6
Merged contrib folders from the graphbuilder-api branch, including the recursive search in CMakeLists.txt
2011-03-02 04:48:04 +00:00
Jesse Beder
04bc13caf8
Merged CMakeLists.txt from issue 87 - now it's cleaner, and supports Windows much better
2011-03-02 04:37:55 +00:00
Jesse Beder
c65a7dfc7c
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
Jesse Beder
d1cb1aa74f
Included cstddef to stream.h
2011-02-05 22:28:08 +00:00
Jesse Beder
be1b14f369
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
Jesse Beder
337cb553d0
Fixed emitting colon at end of scalar bug
2010-12-03 21:52:04 +00:00
Jesse Beder
99089bf218
Added long long types to the emitter
2010-11-15 01:46:33 +00:00
Jesse Beder
e293d4af8a
Updated Visual Studio project file.
2010-11-09 19:59:25 +00:00
Jesse Beder
a6afaabcb0
Refactored tags so we can emit secondary tags (and named local tags)
2010-10-28 23:06:16 +00:00
Jesse Beder
d508203ed8
Implemented binary emitting without the binary tag
2010-10-28 21:53:54 +00:00
Jesse Beder
f1697dea15
Refactored emitter so that it emits the : for an implicit key right away
2010-10-22 04:19:01 +00:00
Jesse Beder
6b7cb45ac8
Added more tests for the newline, and disallowed newlines after implicit block keys
2010-10-22 03:53:33 +00:00
Jesse Beder
1e4210401f
Added YAML::Newline manipulator for the emitter
2010-10-21 22:02:29 +00:00
Jesse Beder
a04e2da1ff
Merged the extra tests from other-tags into the trunk (forgot last commit)
2010-10-19 06:51:54 +00:00
Jesse Beder
51c84f1c02
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
Jesse Beder
18a805e46c
Updated CMake iPhone settings
2010-10-18 21:35:34 +00:00
Jesse Beder
a19336fd98
Made emitter noncopyable, which should fix any auto_ptr warnings
2010-10-18 07:24:42 +00:00
Jesse Beder
9ad3a1b905
Fixed the rest of the includes to explicitly state yaml-cpp/
2010-10-18 07:22:53 +00:00
Jesse Beder
21be19d493
Forgot to add the new header location to the project (not important for compiling, but it is for the various generators)
2010-10-18 07:09:07 +00:00
Jesse Beder
5b8ca9ce01
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
Jesse Beder
a71c03a18b
Merged r366:387 from the jbeder-event-api branch
2010-10-18 06:45:03 +00:00
Jesse Beder
0a02403fb0
Fixed missing header
2010-05-01 20:05:15 +00:00
Jesse Beder
9820d13840
Tagged version 0.2.5
2010-03-15 19:25:02 +00:00
Jesse Beder
326899815f
Added overloads for parsing stl maps and vectors
2010-03-15 04:25:17 +00:00
Jesse Beder
083a97b171
Set alias nodes to return the tag of their anchor
2010-03-15 04:10:36 +00:00
Jesse Beder
2226987442
Disabled those warnings in the release version of the .svn too.
2010-03-03 05:33:07 +00:00
Jesse Beder
bca7737463
Updated to remove most of the warnings in Visual Studio. (There's still the one about all control paths returning a value left.) Fixed one warning (when an istream converts to void * to then convert to bool), and disabled three.
2010-03-03 05:30:06 +00:00
Jesse Beder
6f40b09525
Added newline to install and license files
2009-12-21 20:35:27 +00:00
Jesse Beder
3a755de572
Added missing include
2009-12-02 05:59:18 +00:00
Jesse Beder
9718e58120
Added test for duplicate key
2009-12-02 01:29:16 +00:00
Jesse Beder
8723b8f358
Fixed leak when adding duplicate keys (and actually changed the behavior - now we take the first instance, not the last)
2009-12-02 01:01:45 +00:00
Jesse Beder
03df73a7b0
Refactored emitter operator << overloads to not template them, so it's easier to overload for pointer types
2009-11-17 20:21:22 +00:00
Jesse Beder
3307f0941c
Refactored the traits a bit, and added displaying the key to string and numeric key not found errors
2009-11-12 17:00:12 +00:00
Jesse Beder
54b68230ae
Small bug from switching static initialized regexes to lazy ones
2009-11-12 05:45:47 +00:00
Jesse Beder
32491166ac
Replaced conversion macros with SFINAE
2009-11-10 21:23:52 +00:00
Jesse Beder
6f94f954bb
Overloaded more integral types for emitting
2009-11-06 03:24:12 +00:00
Jesse Beder
90fd24d149
Fixed the return value of the integral conversion functions, and also unset the dec flag so it reads other bases (just a temporary fix, since we're officially supposed to read binary too)
2009-11-06 03:13:54 +00:00
Jesse Beder
9a21a3ec8d
Switched the Exp:: regexes to functions that lazily evaluate their regexes
2009-11-04 22:56:59 +00:00
Jesse Beder
3779e4255d
Fixed silly bug in node cloning
2009-10-30 20:29:14 +00:00
Jesse Beder
ec62dc547e
Added some block scalar tests (with errors)
2009-10-30 18:16:26 +00:00
Jesse Beder
a9b9e1ccec
Updated the Visual Studio solution for the new files/renaming.
2009-10-30 04:52:13 +00:00
Jesse Beder
e04be7890a
Fixed bug with block maps with null value (the next key was being read as the value)
2009-10-30 01:06:19 +00:00
Jesse Beder
ecb30132e9
Fixed the whitespace tracking when we escape a newline in a double-quoted string
2009-10-29 22:55:50 +00:00
Jesse Beder
52be1ccfb9
Fixed mistake in test
2009-10-29 22:39:53 +00:00
Jesse Beder
3405a6fe01
Refactored the compact map notation, which made it easy to implement explicit keys for compact maps
2009-10-29 22:09:50 +00:00
Jesse Beder
d372729b92
Added case for parsing a compact key: value pair in a flow sequence with a null key
2009-10-29 22:01:01 +00:00
Jesse Beder
fadc2ad39f
Implemented adjacent key:value pairs when the key is JSON-like
2009-10-29 21:05:48 +00:00
Jesse Beder
a5607f82a3
Added test
2009-10-29 20:45:20 +00:00
Jesse Beder
f4c683ac22
Added flow collection tests
2009-10-29 20:35:07 +00:00
Jesse Beder
8c9c9d90da
Added ability to read compact maps in a flow sequence
2009-10-29 19:41:46 +00:00
Jesse Beder
a372bfdc60
Merged r295:305 from the tags branch to the trunk
2009-10-29 15:48:06 +00:00
Jesse Beder
fe57829aca
Removed crt stuff (we can do memory leak checking in Linux easier)
2009-10-27 14:55:01 +00:00
Jesse Beder
b5c53d9e3a
Removed unused test yaml file
2009-10-27 14:48:01 +00:00
Jesse Beder
f2a2d25ec0
Now actually removed yaml-reader
2009-10-27 14:47:08 +00:00
Jesse Beder
a706ffaf62
Reverted yaml-reader name change
2009-10-27 14:45:14 +00:00
Jesse Beder
8f48e693fe
Renamed yaml-reader test (try 2)
2009-10-27 14:39:48 +00:00
Jesse Beder
a0bf12e7a1
Renamed yaml-reader test
2009-10-27 14:38:53 +00:00
Jesse Beder
2314c04d5d
Tagged version 0.2.4
2009-10-25 20:27:31 +00:00
Jesse Beder
22410f46f5
Updated the CMake globbing so it only compiles sources starting with a lowercase letter (apparently Mac OS auto-generates files looking like ._whatever and it was trying to compile those too)
2009-10-25 18:01:48 +00:00
Jesse Beder
9559a661aa
Tagged version 0.2.3
2009-10-22 21:55:44 +00:00