Commit Graph

82 Commits

Author SHA1 Message Date
jbeder
ee446d00ea Added emitting std::set (and refactored the stl emitters a bit) 2011-05-18 21:07:25 +00:00
jbeder
e1f27488d1 Fixed mixed line endings 2011-03-17 02:04:34 +00:00
jbeder
509ba0d640 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
9d83747162 Removed comparison/implicit conversion operators for Node, and renamed Node::Read<T>() to Node::to<T>() 2011-03-15 05:49:56 +00:00
jbeder
5b1ca74376 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
9419d411f8 Set the precision of emitting float/double to 15 2011-03-03 02:38:35 +00:00
jbeder
6f7995d27e Merged r444:449 from the node refactoring branch to the trunk 2011-03-03 00:19:26 +00:00
jbeder
396e3309de 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
c6e085524a 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
jbeder
142a4bca9b 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
357cd1e122 Fixed 'long long' error in VS 2002, issue 90 2011-03-02 05:15:36 +00:00
jbeder
7b6e87277d Merged contrib folders from the graphbuilder-api branch, including the recursive search in CMakeLists.txt 2011-03-02 04:48:04 +00:00
jbeder
3192d29e66 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
6f6e096316 Added long long types to the emitter 2010-11-15 01:46:33 +00:00
jbeder
8c913c8ce4 Refactored tags so we can emit secondary tags (and named local tags) 2010-10-28 23:06:16 +00:00
jbeder
24dc58b68d Implemented binary emitting without the binary tag 2010-10-28 21:53:54 +00:00
jbeder
cb8eee46f0 Added more tests for the newline, and disallowed newlines after implicit block keys 2010-10-22 03:53:33 +00:00
jbeder
59745a4cff Added YAML::Newline manipulator for the emitter 2010-10-21 22:02:29 +00:00
jbeder
973ce78fe1 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
2d3722db85 Made emitter noncopyable, which should fix any auto_ptr warnings 2010-10-18 07:24:42 +00:00
jbeder
91944e4538 Fixed the rest of the includes to explicitly state yaml-cpp/ 2010-10-18 07:22:53 +00:00
jbeder
2a256f2870 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
jbeder
12d2beda29 Merged r366:387 from the jbeder-event-api branch 2010-10-18 06:45:03 +00:00
jbeder
11903da3fb Added overloads for parsing stl maps and vectors 2010-03-15 04:25:17 +00:00
jbeder
e58f0f31b7 Set alias nodes to return the tag of their anchor 2010-03-15 04:10:36 +00:00
jbeder
b869aab8e1 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
jbeder
8f0f0d62a7 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
jbeder
bbf510d6cc 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
jbeder
63cc5adefd Replaced conversion macros with SFINAE 2009-11-10 21:23:52 +00:00
jbeder
71489e5abf Overloaded more integral types for emitting 2009-11-06 03:24:12 +00:00
jbeder
472bb80c9c 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
jbeder
b1f143cfaf 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
jbeder
cccbddb54c Merged r295:305 from the tags branch to the trunk 2009-10-29 15:48:06 +00:00
jbeder
4f74f805c2 Removed crt stuff (we can do memory leak checking in Linux easier) 2009-10-27 14:55:01 +00:00
jbeder
9a28c9178e Merged r270:HEAD of the emitting-unicode branch 2009-10-19 23:31:11 +00:00
jbeder
afc7c1088d Added default constructor to Parser, and cleaned it up a bit 2009-10-19 22:40:46 +00:00
jbeder
fb443b3056 Updated signature of Parser::GetNextDocument (issue 45) 2009-09-29 18:25:11 +00:00
jbeder
60fce621e8 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
jbeder
a20141bca7 Patched for gcc version <= 3.3 (just fall back to original version of Node::Read) 2009-09-16 04:01:40 +00:00
jbeder
7b889b9f35 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
jbeder
fe47783b5f 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
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
fc22d55b53 Added Node::Clone function 2009-08-24 20:10:42 +00:00
jbeder
8fcd09f30b Cleaned up 2009-08-24 18:23:20 +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
c45372e2f3 Added 'yaml-cpp: ' to the exception messages 2009-08-19 05:09:12 +00:00
jbeder
d1c888f57a 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
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