Commit Graph

264 Commits

Author SHA1 Message Date
Jesse Beder
5217149ed4 Fixed bug with complex keys (and simplified the parsing for flow maps) 2009-09-06 21:52:56 +00:00
Jesse Beder
e7ac6b3bf1 Refactored the operator >> and Node::Read default functions, as well as the conversion functions, to more easily read new types as keys (this uncovered an error, in example 2.11 of the spec) 2009-09-06 20:52:45 +00:00
Jesse Beder
07443495c8 Added templated casting to nodes, as well as operator == and != (for quick checks, especially to help in testing). Implemented size() on a map node to return the number of key/value pairs (as in std::map) 2009-09-06 15:54:11 +00:00
Jesse Beder
91163d2296 Allowed solo entries in a flow map to be read as keys with null value 2009-09-05 22:42:01 +00:00
Jesse Beder
75477ade65 Finished refactoring of simple keys so that they can refer to multiple tokens at a single level 2009-09-05 03:49:38 +00:00
Jesse Beder
0e1638d7b5 Refactored simple keys so that validating doesn't require popping indents, and so popping indents (and adding the end map) is independent of when we validate the simple key 2009-09-05 02:51:09 +00:00
Jesse Beder
19673ff01a Moved token enums into Token scope 2009-09-05 02:28:11 +00:00
Jesse Beder
873ad336f8 Fixed bug with omitted keys/values in a flow map 2009-09-02 21:39:57 +00:00
Jesse Beder
1b240d3576 Fixed bug with explicit doc start introduced in last commit 2009-08-26 16:15:27 +00:00
Jesse Beder
b789a1c5f9 Removed the implicit sequence code (since it's not used any more) 2009-08-24 22:58:47 +00:00
Jesse Beder
a1460169e6 Fixed bug in anchors with no content. This involved refactoring the 'implicit sequence' concept (where a map and a sequence start on the same indent, but we read the sequence as more indented since the '-' is visually an indent). 2009-08-24 22:56:54 +00:00
Jesse Beder
abe0af76c5 Added Node::Clone function 2009-08-24 20:10:42 +00:00
Jesse Beder
8c33523b15 Removed the std::wstring conversion 2009-08-22 00:25:37 +00:00
Jesse Beder
81c2e6b6ca Converted indexing to std::size_t, and fixed the Node templated overloads to properly index any index type (determining what is an index type is a bit of a hack - it should be is_convertible<T, std::size_t> (I think), but I just explicitly wrote down a list) 2009-08-19 20:58:07 +00:00
Jesse Beder
487f381ae9 Fixed out-of-bounds memory access 2009-07-31 18:26:42 +00:00
Jesse Beder
d506dae914 Added IsNull function 2009-07-31 05:07:21 +00:00
Jesse Beder
7a89920441 Fixed null key/value bug, added tests 2009-07-30 06:49:09 +00:00
Jesse Beder
382f1ba3c7 Fixed empty scalar in sequence bug 2009-07-30 05:54:40 +00:00
Jesse Beder
ae41e58ca3 Added support for emitting and represeting null 2009-07-30 04:42:27 +00:00
Jesse Beder
72919adf55 Added header file inclusion guards 2009-07-29 22:27:20 +00:00
Jesse Beder
b1ce042535 Collected pos, line, and column into a Mark struct 2009-07-27 02:56:18 +00:00
Jesse Beder
9b78bd459b Fixed hex output in emitter (should be always two hex chars) 2009-07-26 07:57:22 +00:00
Jesse Beder
c225a55344 Fixed bug in emitting null nodes 2009-07-26 07:42:50 +00:00
Jesse Beder
2160bb2bcc Fixed bug with simple keys that are quoted scalars 2009-07-25 18:58:41 +00:00
Jesse Beder
980c4cb0ce Updated visual studio project, and fixed a VS warning 2009-07-20 20:18:59 +00:00
Jesse Beder
670a3e952a Patched to read into std::wstring 2009-07-15 20:47:51 +00:00
Jesse Beder
3e0179fd6e Added emitting for a YAML::Node (instead of the ad-hoc std::ostream overload) so it'll actually emit valid YAML always 2009-07-10 23:39:14 +00:00
Jesse Beder
781fb4d093 Fixed warnings to compile on gcc with -Wall -pedantic -Wextra 2009-07-10 03:30:04 +00:00
Jesse Beder
b113c37819 Clarified some copy/assignment issues with the stream/streamcharsource. 2009-07-10 03:20:16 +00:00
Jesse Beder
b929eb94a0 Merged utf branch changes r178:187 into the trunk 2009-07-10 03:10:03 +00:00
Jesse Beder
a7b8879494 Fixed bug that didn't allow multiple docs in a stream (using only "---") 2009-06-25 03:05:09 +00:00
Jesse Beder
620c58abec Updated the nested RegEx classes so they don't need to also take an std::string 2009-06-01 03:42:16 +00:00
Jesse Beder
441a230509 Set eol-style to native on all of the new files 2009-05-30 02:29:47 +00:00
Jesse Beder
9a1a3974c6 Patch for gcc -Wall (order of initialization) 2009-05-29 22:36:52 +00:00
Jesse Beder
e76521c0e9 Changed the way we read different types of scalars.
It's better organized now, I think - nodes only offer a single main way of getting the fundamental scalar (as a string), and now we can specialize a single template to read specific types.
2009-05-23 23:51:01 +00:00
Jesse Beder
b51a32ae14 Replaced direct emitter writing with an accessor to a C-string 2009-05-22 22:21:01 +00:00
Jesse Beder
69ef85526a Restructured CMake file to include headers, and to be better organized 2009-05-22 22:11:21 +00:00
Jesse Beder
de1c6171ee Removed excessive stderr logging 2009-05-22 21:56:45 +00:00
Jesse Beder
9245f9253a Merged emitter branch into trunk, changes r105:r151 2009-05-22 21:52:31 +00:00
Jesse Beder
b3a5a519f2 Merged aliases branch into trunk, changes r100:150 2009-05-22 21:48:05 +00:00
Jesse Beder
9d0e0c6a48 Fixed several bugs from the new file i/o setup.
In particular:
1. Windows CR/LF weren't read properly (issue #11)
2. Scanning wasn't reading EOF properly
3. Documents may be empty (this was old, I think)
Also fixed some VS2008 warnings on /W4.
2009-02-07 07:57:13 +00:00
Jesse Beder
f9c0725684 Switched to reading the entire file into a buffer at the start.\nThis speeds it up a TON (like 100x). 2009-02-01 20:48:43 +00:00
Jesse Beder
a6d5902ebf Included <cstdio> for gcc-4.4 (issue 9) 2009-01-27 21:08:40 +00:00
Jesse Beder
5c54431b3b Applied patch for gcc -Wall 2009-01-15 17:12:13 +00:00
Jesse Beder
5a2a317d62 Fixed tag output bug 2008-11-20 04:12:31 +00:00
Jesse Beder
f8d81fff8c Replaced a pointer-centered try/catch block with std::auto_ptr 2008-11-20 03:41:40 +00:00
Jesse Beder
043bbddcf0 Added line/column data for nodes so they can give better invalid scalar exceptions. 2008-11-18 04:20:07 +00:00
Jesse Beder
14cdec770c Added more natural ways to parse boolean values (based on the YAML spec).
(Thanks to Vadim Zeitlin)
2008-09-25 00:15:40 +00:00
Jesse Beder
6e4317e37c Added Read() functions for Node that return true/false, so we can easily check if a read is successful without throwing.
But we still have operator >> that throws on failure.
2008-09-24 23:29:00 +00:00
Jesse Beder
907be0660c Fixed infinite loop bug having to do with simple keys when we hit an unexpected EOF. 2008-09-24 22:45:04 +00:00