Free Electron
iterator.h
1 #ifndef VALUE_ITERATOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66
2 #define VALUE_ITERATOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66
3 
4 #if defined(_MSC_VER) || \
5  (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \
6  (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4
7 #pragma once
8 #endif
9 
10 #include "yaml-cpp/dll.h"
11 #include "yaml-cpp/node/node.h"
12 #include "yaml-cpp/node/detail/iterator_fwd.h"
13 #include "yaml-cpp/node/detail/iterator.h"
14 #include <list>
15 #include <utility>
16 #include <vector>
17 
18 // Assert in place so gcc + libc++ combination properly builds
19 static_assert(std::is_constructible<YAML::Node, const YAML::Node&>::value, "Node must be copy constructable");
20 
21 namespace YAML {
22 namespace detail {
23 struct iterator_value : public Node, std::pair<Node, Node> {
24  iterator_value() = default;
25  explicit iterator_value(const Node& rhs)
26  : Node(rhs),
27  std::pair<Node, Node>(Node(Node::ZombieNode), Node(Node::ZombieNode)) {}
28  explicit iterator_value(const Node& key, const Node& value)
29  : Node(Node::ZombieNode), std::pair<Node, Node>(key, value) {}
30 };
31 }
32 }
33 
34 #endif // VALUE_ITERATOR_H_62B23520_7C8E_11DE_8A39_0800200C9A66
Definition: gtest-internal.h:1322
Definition: anchor.h:12