Commit Graph

275 Commits

Author SHA1 Message Date
Matt Blair
96d95aa092 Merge branch 'master' into no-boost 2015-07-15 17:20:03 -04:00
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
U.G. Wilson
bdfb87b461 Repalced auto_ptr with unique_ptr. 2015-05-26 17:13:50 -05:00
Matt Blair
2703ef784d clang-format 2015-05-07 13:26:01 -04:00
Matt Blair
012baa7d62 Fix operator-> for iterators
The proxy reference pattern used in Boost iterators to provide pointers to temporary values requires that -> actually returns a 'proxy' object that further has -> applied in the calling scope
2015-05-07 13:11:47 -04:00
Matt Blair
c78d19bdcc Initialize iterator_base members 2015-04-30 15:57:44 -04:00
Matt Blair
6c7fddebbb Replace ptrdiff_t with std::ptrdiff_t 2015-04-30 14:19:40 -04:00
Matt Blair
f09c4b44e1 Replace iterator_facade and iterator_adaptor with std iterators
Borrows the 'proxy reference' technique used in the boost templates
2015-04-29 17:47:30 -04:00
Matt Blair
7c26845bb4 Replace 'boost::is_convertible' with 'std::is_convertible' 2015-04-27 19:23:54 -04:00
Matt Blair
3dc430e74a Remove usages of boost::enable_if and boost::next 2015-04-27 18:03:23 -04:00
Matt Blair
aa30edb3aa Remove use of 'boost/shared_ptr.h' 2015-04-27 17:31:30 -04:00
Matt Blair
52903e89a1 Replace boost::noncopyable with deleted copy and assignment 2015-04-27 17:27:33 -04:00
Matt Blair
1b9796cec5 Remove use of 'boost/shared_ptr.h' 2015-04-27 17:18:09 -04:00
Matt Blair
7995295038 Remove use of 'boost/type_traits.h' 2015-04-27 17:14:42 -04: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
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