Jesse Beder
97d56c3f36
Remove 'const' modifier on return of Node::as.
...
This enables the return value to be moved, rather than copied.
2015-11-22 11:27:55 -06:00
Michael Welsh Duggan
320b02b14a
Allow using a Node as the key in force_insert.
...
Node::force_insert() uses convert<> to convert its key to a node.
Add a specialization for convert<Node>.
2015-11-22 11:21:08 -06:00
Haydn Trigg
03d6e7d672
Removed boost requirement from memory.h (detail)
...
Removed the boost requirement from memory.h using the shared_memory type defined in ptr.h
2015-07-25 11:45:10 +09:30
Jonathan Hamilton
b426fafff6
Fix some Node::operator[] regressions from 0.5.1
...
"const Node Node::operator[](const Key& key) const" changed from
returning new empty node if the key was missing in 0.5.1 to returning
a shared 'zombie' node in 0.5.2 to resolve a memory leak.
(Specifically 1025f76df1 was where this
was introduced)
This caused some regressions where this 'zombie' object threw exceptions
in some functions where the 'empty' object would not.
This change fixes the Node::as(fallback) method (to return the
'fallback' instead of throwing an exception) and the
Node::begin()/Node::end() methods to return default-constructed
iterators (so begin() == end() in such cases) instead of another
exception.
2015-06-08 11:47:10 -07:00
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
fcbec237c9
Add conversion for signed char
2015-01-24 15:19:49 -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
2c340f0546
Fixed memory corruption when using a node as a key
2014-08-16 10:52:51 -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
4b40441cee
Run IWYU
2014-03-22 23:14:48 -05:00
Jesse Beder
c7567b7b07
Add missing includes to node_data.h
2014-03-22 19:32:53 -05:00
Jesse Beder
d63ec48c8a
Run clang-format
2014-03-22 13:05:03 -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
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
c22512649e
Copied all files from new-api branch of old repo
2012-05-19 15:34:02 -05:00
Jesse Beder
1723523c43
Removed the new API from the default branch
2012-01-20 23:50:39 -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
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
5abfbf5aac
Added (unspecified-type) bool conversions for Node (new API)
2011-11-13 16:05:42 -06: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