Jesse Beder
94dc63af04
Added parsing .inf and .nan (and friend)
2011-07-10 16:27:40 +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
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
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
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
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
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
75a2fbe564
Fixed 'long long' error in VS 2002, issue 90
2011-03-02 05:15:36 +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
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
99089bf218
Added long long types to the emitter
2010-11-15 01:46:33 +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
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
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
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
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
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
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
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
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
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
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
fa0af88dfe
Merged r270:HEAD of the emitting-unicode branch
2009-10-19 23:31:11 +00:00
Jesse Beder
ed570b9f7c
Added default constructor to Parser, and cleaned it up a bit
2009-10-19 22:40:46 +00:00
Jesse Beder
7db39e66b8
Updated signature of Parser::GetNextDocument (issue 45)
2009-09-29 18:25:11 +00:00
Jesse Beder
94eb7f1dbd
Modified old gcc version patch so it still uses the new Node::Read in Visual Studio. Also broke up the \uNNNN characters in the spec tests into \xNN-type strings.
2009-09-16 05:31:28 +00:00
Jesse Beder
5733b77b84
Patched for gcc version <= 3.3 (just fall back to original version of Node::Read)
2009-09-16 04:01:40 +00:00
Jesse Beder
7c4cc9bf5f
Cleaned up the read template overloads (per litb's update); it seems the old version didn't compile in VS2008. Also updated the VS project files.
2009-09-08 20:57:18 +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
abe0af76c5
Added Node::Clone function
2009-08-24 20:10:42 +00:00
Jesse Beder
8e636436f8
Cleaned up
2009-08-24 18:23:20 +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
ba11f5ae15
Added 'yaml-cpp: ' to the exception messages
2009-08-19 05:09:12 +00:00
Jesse Beder
d92ca21bcc
Added templated Read() function that creates the output variable itself (so you don't need to have a temp variable)
2009-08-19 03:37:19 +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
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
1507fcd36d
Forgot to add mark.h
2009-07-27 04:14:19 +00:00
Jesse Beder
b1ce042535
Collected pos, line, and column into a Mark struct
2009-07-27 02:56:18 +00:00
Jesse Beder
555fb5c3a0
Fixed the Exception::what() function
2009-07-26 01:37:21 +00:00
Jesse Beder
670a3e952a
Patched to read into std::wstring
2009-07-15 20:47:51 +00:00
Jesse Beder
a84c1af98a
Added FindValue to more easily read optional keys in a map
2009-07-12 02:59:23 +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
11f98f1cc6
(Finally) overrode Exception::what()\n
2009-07-10 04:17:30 +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
441a230509
Set eol-style to native on all of the new files
2009-05-30 02:29:47 +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
5139ebf7ba
Added emitter headers to yaml.h
2009-05-22 22:23:57 +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
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
7214ffc107
Re-added the throw() specification to ~Exception(), and also to ~TypedKeyNotFound(); I suppose this'll fix the gcc compiler error.
2009-01-01 23:59:37 +00:00
Jesse Beder
d98f9d8713
Removed throw() specifier in Exception (I don't remember putting it in). This may solve a gcc error (I haven't tested it yet) or it may break it further.
2009-01-01 20:14:32 +00:00
Jesse Beder
27bd791ea0
Added a templated derived exception to KeyNotFound so that you can figure out *which* key wasn't found.
2009-01-01 02:40:18 +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
1406b84016
Made Node non-copyable.
2008-09-19 02:44:49 +00:00
Jesse Beder
45322566c7
Set the eol style to native for all files.
2008-09-03 22:20:39 +00:00
Jesse Beder
a45f083e00
Fixed some gcc warnings.
2008-09-03 22:19:27 +00:00
Jesse Beder
5c0db0d21b
Unified line endings.
2008-09-03 22:17:17 +00:00
Jesse Beder
ec2ecad197
Added CMake scripts for other platforms\nFixed some bugs that gcc complained about\nFixed CR/LF vs LF bug
2008-08-07 03:30:56 +00:00
Jesse Beder
813817f1ab
2008-07-31 19:41:11 +00:00
Jesse Beder
d45bb667b6
Small changes in the iterator code.
...
Changed the public interface of Scanner to resemble an STL container.
2008-07-23 04:38:18 +00:00
Jesse Beder
cc87c83b01
Switched the Iterator implementation to a dedicated helper class (to hide the specific implementation, since it's pretty messy and may change).
2008-07-21 02:54:39 +00:00
Jesse Beder
09d7ab365f
Replaced the queue of Token pointers with values.
...
We were getting memory leaks (as told by the CRT detectors, which I also added), and there's really no reason (as long as we're careful) to use pointers there.
2008-07-20 05:02:01 +00:00
Jesse Beder
cadc04ce47
Moved all code to src/ and include/ directories.
2008-07-14 04:33:30 +00:00