Jesse Beder
5c390e8d6c
Merge pull request #303 from bdutro/patch-1-squashed
...
Fix compiler error by updating node_data::remove to use new equals() method.
2015-04-08 13:59:56 -05:00
bdutro
aa928b925b
Update node_data::remove to use new equals() method
...
- Update the call to equals() in node_data::remove() to match the new implementation
- Add unit test for node::remove() to catch this type of bug in the future
2015-04-08 13:41:59 -05:00
Oliver Hamlet
ec8aa4fa62
More useful error messages.
...
Applied the patch given in jbeder/yaml-cpp#200 with the correct code
style.
2015-04-02 20:50:11 +01:00
Jesse Beder
25c466a152
Run clang-format
2015-03-29 21:27:20 -05:00
Jesse Beder
7092a0b099
Fixed linker error on Visual Studio with a shared lib by moving the static methods node_data::equals to an instance method on node.
2015-03-29 21:11:53 -05:00
Jesse Beder
25b2ed0787
Fix operator bool() exception on zombie node
2015-03-29 14:31:22 -05:00
Jesse Beder
0970a108bd
Remove stray field
2015-01-24 17:58:58 -06:00
Jesse Beder
1025f76df1
Fix memory leak when accessing a const Node with a key that doesn't exist.
2015-01-24 17:22:45 -06:00
Jesse Beder
1006bee48a
Default-initialize all sub-iterators in node_iterator_base
2015-01-24 16:23:35 -06:00
Jesse Beder
7d932f0a10
Merge from core
2015-01-24 15:59:24 -06:00
Jesse Beder
087e0673f3
Renamed the None enumeration vaules to NoType to avoid a collision with X11's macro
2015-01-24 15:58:14 -06:00
Jesse Beder
fcbec237c9
Add conversion for signed char
2015-01-24 15:19:49 -06:00
Jesse Beder
c324bf8a7d
Merge core
2015-01-24 14:47:29 -06:00
Jesse Beder
2b2e607118
Fix gcc warning
2015-01-24 14:47:00 -06:00
Jesse Beder
391111c055
Merge core
2015-01-24 14:40:55 -06:00
Jesse Beder
0c8a539361
Fix warnings on visual studio, including changing unsigned to std::size_t
2015-01-24 14:38:22 -06:00
Jesse Beder
9eae039c91
Merge
2015-01-24 13:24:08 -06:00
Jesse Beder
0c280724e9
Add flow/block style setting on Nodes
2015-01-24 13:11:43 -06:00
Jesse Beder
9880b608b9
Merge from core
2015-01-24 12:26:16 -06:00
Jesse Beder
ad712c4f2d
Add EmitterStyle, which will allow sequence or map style (i.e., flow or block) to be preserved between parsing and emitting
2015-01-24 12:19:20 -06:00
Jesse Beder
c7752ca336
Fix build warning from gcc about std::copy
2015-01-24 11:14:53 -06:00
Jesse Beder
2c340f0546
Fixed memory corruption when using a node as a key
2014-08-16 10:52:51 -05:00
Jesse Beder
47af59f09c
Add dll tag to Binary
2014-03-25 22:03:27 -05:00
Jesse Beder
13130ec20d
clang-format
2014-03-25 00:11:17 -05:00
Jesse Beder
066359802b
Merge from core, and update several missing DLL exports. This does not resolve them all (in particular, node_data::equals seems to be still missing, even though it is inlined in a header, which seems strange).
2014-03-24 00:31:43 -05:00
Jesse Beder
fe8ca77a1b
Add missing DLL export, and set up gtest/gmock to properly import their symbols.
2014-03-23 23:56:17 -05:00
Jesse Beder
253c80d09e
Merge from core
2014-03-23 20:17:34 -05:00
Jesse Beder
06bf012d81
clang-format
2014-03-23 20:08:54 -05:00
Jesse Beder
4b40441cee
Run IWYU
2014-03-22 23:14:48 -05:00
Jesse Beder
8d7eb02c46
Merge IWYU from core
2014-03-22 23:08:09 -05:00
Jesse Beder
5fd25df859
Run IWYU
2014-03-22 22:46:04 -05:00
Jesse Beder
c7567b7b07
Add missing includes to node_data.h
2014-03-22 19:32:53 -05:00
Jesse Beder
d98ab9f342
Merge ostream_wrapper fix from core
2014-03-22 19:27:54 -05:00
Jesse Beder
0fbeac8f4f
Add more ostream_wrapper tests
2014-03-22 19:22:23 -05:00
Jesse Beder
d63ec48c8a
Run clang-format
2014-03-22 13:05:03 -05:00
Jesse Beder
3355bbb399
Merge clang-format from core
2014-03-22 13:03:18 -05:00
Jesse Beder
9b4db068bb
Run clang-format
2014-03-22 12:49:16 -05:00
Jesse Beder
5b88931143
Fixed bug while reading a single space char
2013-11-10 14:50:35 -06:00
Jesse Beder
895af26226
Fix floating point precision on input.
2013-04-13 13:10:36 -05:00
Jesse Beder
434c6a5697
Add better exception reporting when incorrectly dereferencing an iterator.
2013-04-12 23:41:02 -05:00
Jesse Beder
097ac171c6
Add std::pair conversion specialization.
2013-04-02 21:04:17 -05:00
Jesse Beder
0482463569
Rename clear() to reset(), and it now takes an optional node parameter.
2013-04-02 20:39:54 -05:00
Jesse Beder
5dbcf7eeb1
Fix conversion for C-strings (both literals and normal C-strings) so it compiles on Visual Studio.
2013-04-01 22:25:53 -05:00
Jesse Beder
f5418306d6
Explicity disallow get_idx for boolean type, to avoid ambiguity with a map.
2013-04-01 22:06:09 -05:00
Jesse Beder
04937649b7
Add missing line from previous fix.
2013-04-01 21:52:32 -05:00
Jesse Beder
71f35b1104
Fix warning in Visual Studio:
...
warning C4146: unary minus operator applied to unsigned type, result still unsigned
2013-04-01 21:43:09 -05:00
Jesse Beder
bcdda4027f
Added Node::clear() function
2012-11-08 18:47:22 -06:00
Jesse Beder
eb02dd8dc3
Fixed typo from null fix
2012-11-08 18:40:44 -06:00
Jesse Beder
5721ac6194
Pulled 'null' renaming fix
2012-11-08 18:39:06 -06:00
Jesse Beder
0c72825303
Renamed all variables named 'null' (for real now, and only that)
2012-11-08 18:38:20 -06:00
Jesse Beder
16f05e73b9
Reverted last change
2012-11-08 18:24:00 -06:00
Jesse Beder
06e09d1d64
Renamed all variables named 'null'
2012-11-08 18:21:00 -06:00
Jesse Beder
0c772c4c3f
Set LoadFile and LoadAllFromFile to throw an exception if we can't load the file
2012-11-08 18:14:26 -06:00
Jesse Beder
a03e861d8c
Switched map's convert<> specialization to use the new force_insert
2012-10-31 19:10:45 -05:00
Jesse Beder
09b4706faf
Added force_insert for mapping nodes that doesn't check to see if the key exists already (so it could duplicate keys)
2012-10-31 19:08:09 -05:00
Jesse Beder
a645866ffa
Simplified Node::operator[] interface by removing the C-string overloads, using a helper to_value
2012-10-31 18:55:07 -05:00
Jeff Wang
d770a7dc97
workaround for gcc 3
2012-07-17 11:55:45 -05:00
Jesse Beder
823311384f
Added free Clone() function for Nodes
2012-07-04 15:26:37 -05:00
Jesse Beder
c722684f0d
Removed unnecessary forward declarations
2012-06-08 10:26:49 -05:00
Jesse Beder
5c097d417a
Removed stray GetNextDocument declaration from the parser (it's from the old API, and not the new one)
2012-06-08 10:25:42 -05:00
Jesse Beder
ab36ca930f
Updated from core (emitter)
2012-05-25 19:39:15 -05:00
Jesse Beder
d5130a4109
Changed Emitter::size() to return std::size_t instead of unsigned
2012-05-25 19:38:58 -05:00
Jesse Beder
a78069a6e2
Merged ostreams for the emitter change from the core
2012-05-25 19:35:24 -05:00
Jesse Beder
bc3f72b565
Switched the stream << for c-strings to take a templated array param (since we never stream user-built c-strings, only string literals). For this, refactored the escape character display
2012-05-25 19:33:34 -05:00
Jesse Beder
772969270d
Refactored stream overloads
2012-05-25 18:24:07 -05:00
Jesse Beder
2ffdc5b4d1
Added constructor to the Emitter with a stream, so you can write directly to a stream instead of our temp
2012-05-25 18:22:33 -05:00
Jesse Beder
e6d4a915dc
Switched the ostream wrapper to wrap a std::vector<char> instead of our manually managed memory
2012-05-25 18:17:14 -05:00
Jesse Beder
7c85e9d5de
Updated ostream wrapper with a write() and update_pos
2012-05-25 17:39:14 -05:00
Jesse Beder
1602f78974
Renamed ostream -> ostream_wrapper
2012-05-25 17:28:35 -05:00
Jesse Beder
4116d89f2c
Merged emitter refactor from core
2012-05-23 15:30:03 -05:00
Jesse Beder
a6fe313d32
Removed key/value error checks (since we don't require asking them)
2012-05-22 16:57:30 -05:00
Jesse Beder
0e3e6791ff
Added flow map, simple key/value
2012-05-22 16:36:07 -05:00
Jesse Beder
41e4cd3308
Split block map simple/long key for both key/value
2012-05-22 14:20:50 -05:00
Jesse Beder
952fe51c73
Added writing float/double
2012-05-22 13:59:31 -05:00
Jesse Beder
c95bcae49f
Added writing integral types
2012-05-22 13:57:44 -05:00
Jesse Beder
a626424baa
Split the block map prepare into key/value
2012-05-22 12:56:40 -05:00
Jesse Beder
80823583a0
Tweaked spacing for comments
2012-05-22 12:54:54 -05:00
Jesse Beder
eef692d7b2
Fixed when we emit the doc start (only if there already is a document in the stream, and we're about to emit a new node)
2012-05-22 12:37:00 -05:00
Jesse Beder
0814813302
Added comments, not entirely correct
2012-05-22 12:29:36 -05:00
Jesse Beder
35d827f187
Structured emitter node handling better
2012-05-21 21:57:25 -05:00
Jesse Beder
65d80ebc11
Started prepare node
2012-05-21 17:06:12 -05:00
Jesse Beder
923ccc8fed
Implemented begin/end doc
2012-05-21 16:54:45 -05:00
Jesse Beder
5a2183f55b
Removed old emitter state machine
2012-05-21 16:31:07 -05:00
Jesse Beder
e09fbacd35
Updated from core
2012-05-19 15:40:30 -05:00
Jesse Beder
06cb65c6b3
Removed stl node, which was from the old-api but never deleted
2012-05-19 15:37:39 -05:00
Jesse Beder
c22512649e
Copied all files from new-api branch of old repo
2012-05-19 15:34:02 -05:00
Jesse Beder
c8a539f4f4
Removed old api exceptions
2012-05-19 01:32:10 -05:00
Jesse Beder
683c60f490
Removed traces of old-api Node
2012-05-19 01:19:03 -05:00
Jesse Beder
a183293ff0
Removed old-api tests, added (empty) core spec tests
2012-05-19 01:16:54 -05:00
Jesse Beder
0d32d19ed8
First pass at spearating out a 'core' library from the old api (default) branch
2012-05-19 01:04:43 -05:00
Jesse Beder
d6a0fc6f01
Fixed warning about binary's shadowing members functions
2012-01-25 17:40:16 -06:00
Jesse Beder
01eb370300
Added operator >> overload for Binary
2012-01-21 02:01:37 -06:00
Jesse Beder
d760d037ca
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
Jesse Beder
6105d4cfeb
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
Jesse Beder
e145488547
Added back yaml.h (since it used to be generated)
2012-01-21 00:08:35 -06:00
Jesse Beder
b688c93050
Put all the old-api stuff back in the main folder, for simplicity
2012-01-20 23:55:39 -06:00
Jesse Beder
1723523c43
Removed the new API from the default branch
2012-01-20 23:50:39 -06:00
Jesse Beder
fb0802097c
Fixed double -> int conversion (now throws) for old API
2012-01-12 23:52:51 -06:00
Jesse Beder
643ea61a98
Updated new API conversion to handle nan/inf and to throw when the conversion didn't use the entire string (e.g., parsing 1.2 as an integer)
2012-01-12 23:49:05 -06:00
Jesse Beder
d1e4c2640c
Added default parameters for the as<> function (new API)
2012-01-12 01:03:31 -06:00
Jesse Beder
ddc578dbd7
Added LoadFile and LoadAllFromFile (new API)
2012-01-11 21:31:01 -06:00
Jesse Beder
7ace0e93d2
Fixed signed/unsigned mismatch with the new precision code
2012-01-11 16:50:06 -06:00
Jesse Beder
5024caa69c
Added float/double precision setters
2012-01-11 14:34:04 -06:00
Jesse Beder
21ed2b5817
Added explicit conversion from an iterator value to a Node. This conversion was always allowed (since the iterator value is derived from Node, but since Node has a templated constructor, that would take precedence over the derived-to-base conversion. This didn't seem to be a problem in gcc or clang, but MSVC seems to have trouble. (new API)
2012-01-11 13:58:18 -06:00
Jesse Beder
5b32d89222
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
Jesse Beder
812a2dc684
Fixed assignment with an empty node (new API) - a segfault that only showed up in debuggable
2011-12-20 22:19:54 -06:00
Jesse Beder
add460947b
Added overload for emitting unsigned char
2011-11-14 17:00:28 -06:00
Jesse Beder
3099d51ba4
Added single character emitting
2011-11-14 16:23:14 -06:00
Jesse Beder
5abfbf5aac
Added (unspecified-type) bool conversions for Node (new API)
2011-11-13 16:05:42 -06:00
Jesse Beder
d78d16532a
Set the default operator >> to not compile unless there is a scalar conversion, so it doesn't interfere with user-defined types
2011-11-01 17:19:03 -05:00
Jesse Beder
c953ce0b07
Fixed broken includes when using the old api
2011-10-18 15:13:10 -05:00
Jesse Beder
70e1eb3f9c
Fixed the #ifdefs for the api stuff
2011-10-18 14:47:35 -05:00
Jesse Beder
77cc54585f
Couldn't get the copy command to work for yaml.h, so switched to configure_file
2011-10-18 14:43:48 -05:00
Jesse Beder
e69f51ee16
Split the yaml.h file into new/old API, which we'll then copy to yaml.h at build time (so the right one gets installed)
2011-10-18 00:16:51 -05:00
Jesse Beder
f64f619c29
Added bool conversions
2011-09-14 01:48:36 -05:00
Jesse Beder
e5d0366797
Added Dump()
2011-09-13 14:49:00 -05:00
Jesse Beder
e3d5ec189d
Switched YAML::Parse to YAML::Load, and added LoadAll
2011-09-13 14:24:47 -05:00
Jesse Beder
3a88c4b4a1
Added IsNull, IsScalar, IsSequence, IsMap functions, so you don't have to query Type()
2011-09-13 14:10:27 -05:00
Jesse Beder
0987b234c3
Added tags to Node
2011-09-13 14:00:47 -05:00
Jesse Beder
2dfccbb945
Added a convert<> specialization for YAML::_Null (so you can say node[YAML::Null])
2011-09-13 02:03:56 -05:00
Jesse Beder
a8f82af604
Switched Node::operator=(const Node&) to *not* force itself to create its node first (since we're just assigning them)
2011-09-12 22:05:43 -05:00
Jesse Beder
0c321a6dc6
Switched the node_ref to *always* create its data (since now the Node itself doesn't always create itself)
2011-09-12 22:03:11 -05:00
Jesse Beder
08b3ddfd3e
Set the pimpl node in Node to be optional, so we don't create unnecessary guys every time you call Node tmp = foo[value];
2011-09-12 21:59:47 -05:00
Jesse Beder
5397a93702
Implemented std::map decode (and fixed bug in the Node iterator - the reference_type should be just a plain value, since it's created on-the-fly)
2011-09-12 00:29:39 -05:00
Jesse Beder
b9583dde76
Added reading/writing std::list
2011-09-11 23:18:19 -05:00
Jesse Beder
f22f38f7f2
Added reading/writing std::vector
2011-09-11 23:14:52 -05:00
Jesse Beder
9e62bf8349
Removed the (unimplemented) operator <, and added operator == (in place of is()) for nodes
2011-09-11 22:56:04 -05:00
Jesse Beder
f9d826c22a
Added mutable operator[] for integral types (you can only grow the sequence if you specify the *next* element)
2011-09-11 22:51:49 -05:00
Jesse Beder
4770ec798c
Implemented operator[] specialization, but only const (should the sequence be mutable?)
2011-09-11 21:51:04 -05:00
Jesse Beder
4568dd0b19
Started specialization for operator[] for integers
2011-09-11 21:32:47 -05:00
Jesse Beder
a308b73e8a
Set the map iterator to filter over undefined items
2011-09-11 19:44:27 -05:00
Jesse Beder
a03af5dd73
Implemented the map size computation
2011-09-11 17:16:26 -05:00
Jesse Beder
b50264e74d
Switched the implementation of maps from list<pair> to map (but just pointer comparison)
2011-09-11 16:56:38 -05:00
Jesse Beder
ecdd9cc66d
Added computing and caching the sequence size
2011-09-11 16:21:36 -05:00
Jesse Beder
2d81e46655
Added dependency management (to cause nodes to become defined if their children do)
2011-09-11 15:59:53 -05:00
Jesse Beder
2d06df474b
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
Jesse Beder
80cf3c98db
Fixed minor things that used the old API, compiles/links/runs\!
2011-09-10 22:59:27 -05:00
Jesse Beder
0d1b5224c8
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
Jesse Beder
ac81d7c883
Start of moving Value -> Node and Node -> old API Node (with a #define toggle)
2011-09-10 17:18:15 -05:00
Jesse Beder
78b7a1b8a9
Added helper emitter functions, but we have a problem: YAML::Value is already a manipulator
2011-09-10 16:50:44 -05:00
Jesse Beder
5012063143
Fixed node iterator
2011-09-10 14:36:10 -05:00
Jesse Beder
c3b0ba9d61
New iterators work\!
2011-09-10 14:16:50 -05:00
Jesse Beder
4fdbb748ec
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
Jesse Beder
b1730ea3da
Finished the main iterator stuff, now have to hook it to the nodes/values
2011-09-10 14:06:49 -05:00
Jesse Beder
3865d37bc7
Halfway towards factoring out a node_iterator, and then building iterator on top of it
2011-09-10 13:20:22 -05:00
Jesse Beder
f5a9d4c8e3
Started emitting events for Values
2011-09-10 12:42:42 -05:00
Jesse Beder
09beb5c47a
Implemented sugar Parse() functions
2011-09-09 23:40:19 -05:00
Jesse Beder
6e03bebeb0
Implemented (untested) the value builder
2011-09-09 23:28:21 -05:00
Jesse Beder
cf198080d0
Sequence iterator works\!
2011-09-09 19:22:17 -05:00
Jesse Beder
190a556756
Switched iterators to typedef's, with a bit of finagling so we can forward-declare them
2011-09-09 19:07:37 -05:00