Commit Graph

62 Commits

Author SHA1 Message Date
jbeder
2fe7e8d525 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
jbeder
f21456972c Allowed solo entries in a flow map to be read as keys with null value 2009-09-05 22:42:01 +00:00
jbeder
ba472cc9a3 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
jbeder
a2f2ab8426 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
jbeder
6594941d24 Moved token enums into Token scope 2009-09-05 02:28:11 +00:00
jbeder
f7a47e9f9f Fixed bug with omitted keys/values in a flow map 2009-09-02 21:39:57 +00:00
jbeder
aadc5052bc Fixed bug with explicit doc start introduced in last commit 2009-08-26 16:15:27 +00:00
jbeder
4457b7dd5b Removed the implicit sequence code (since it's not used any more) 2009-08-24 22:58:47 +00:00
jbeder
c7ed85a4ac 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
jbeder
fc22d55b53 Added Node::Clone function 2009-08-24 20:10:42 +00:00
jbeder
2c4a7cf58c Removed the std::wstring conversion 2009-08-22 00:25:37 +00:00
jbeder
770d6de545 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
jbeder
c456eab7cd Fixed out-of-bounds memory access 2009-07-31 18:26:42 +00:00
jbeder
952f72233e Added IsNull function 2009-07-31 05:07:21 +00:00
jbeder
cb2b5783fa Fixed null key/value bug, added tests 2009-07-30 06:49:09 +00:00
jbeder
49265fa12b Fixed empty scalar in sequence bug 2009-07-30 05:54:40 +00:00
jbeder
c043b9c64b Added support for emitting and represeting null 2009-07-30 04:42:27 +00:00
jbeder
a2bd317397 Added header file inclusion guards 2009-07-29 22:27:20 +00:00
jbeder
7e26c711cf Collected pos, line, and column into a Mark struct 2009-07-27 02:56:18 +00:00
jbeder
25b5e9fec1 Fixed hex output in emitter (should be always two hex chars) 2009-07-26 07:57:22 +00:00
jbeder
c4e1446dff Fixed bug in emitting null nodes 2009-07-26 07:42:50 +00:00
jbeder
27055f178f Fixed bug with simple keys that are quoted scalars 2009-07-25 18:58:41 +00:00
jbeder
e6a26ef104 Updated visual studio project, and fixed a VS warning 2009-07-20 20:18:59 +00:00
jbeder
f8440aa0e5 Patched to read into std::wstring 2009-07-15 20:47:51 +00:00
jbeder
a48191c970 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
jbeder
616eafc3c1 Fixed warnings to compile on gcc with -Wall -pedantic -Wextra 2009-07-10 03:30:04 +00:00
jbeder
907960850b Clarified some copy/assignment issues with the stream/streamcharsource. 2009-07-10 03:20:16 +00:00
jbeder
e7f1ca7fb1 Merged utf branch changes r178:187 into the trunk 2009-07-10 03:10:03 +00:00
jbeder
aa959e6705 Fixed bug that didn't allow multiple docs in a stream (using only "---") 2009-06-25 03:05:09 +00:00
jbeder
ed8f016c1f Updated the nested RegEx classes so they don't need to also take an std::string 2009-06-01 03:42:16 +00:00
jbeder
f09e4497b6 Set eol-style to native on all of the new files 2009-05-30 02:29:47 +00:00
jbeder
c150e9945c Patch for gcc -Wall (order of initialization) 2009-05-29 22:36:52 +00:00
jbeder
51457eece9 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
jbeder
7dd29ee5db Replaced direct emitter writing with an accessor to a C-string 2009-05-22 22:21:01 +00:00
jbeder
3e41edd30e Restructured CMake file to include headers, and to be better organized 2009-05-22 22:11:21 +00:00
jbeder
e6617e3273 Removed excessive stderr logging 2009-05-22 21:56:45 +00:00
jbeder
cba20711b0 Merged emitter branch into trunk, changes r105:r151 2009-05-22 21:52:31 +00:00
jbeder
5abf31b991 Merged aliases branch into trunk, changes r100:150 2009-05-22 21:48:05 +00:00
jbeder
7297387015 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
jbeder
855d0d60df 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
jbeder
e9512a5ac8 Included <cstdio> for gcc-4.4 (issue 9) 2009-01-27 21:08:40 +00:00
jbeder
d44502c979 Applied patch for gcc -Wall 2009-01-15 17:12:13 +00:00
jbeder
ad2b9fbaaf Fixed tag output bug 2008-11-20 04:12:31 +00:00
jbeder
4b45a7185a Replaced a pointer-centered try/catch block with std::auto_ptr 2008-11-20 03:41:40 +00:00
jbeder
27da48bac2 Added line/column data for nodes so they can give better invalid scalar exceptions. 2008-11-18 04:20:07 +00:00
jbeder
d1ef1e8ef1 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
jbeder
bf01059c38 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
jbeder
ecba08e240 Fixed infinite loop bug having to do with simple keys when we hit an unexpected EOF. 2008-09-24 22:45:04 +00:00
jbeder
d51888bc7e Fixed a problem where you lose the exception type on rethrow. 2008-09-23 21:13:23 +00:00
jbeder
b43f827188 Set the eol style to native for all files. 2008-09-03 22:20:39 +00:00