Commit Graph

248 Commits

Author SHA1 Message Date
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