29 #ifndef INCLUDED_MDDS_MULTI_TYPE_VECTOR_DIR_ITERATOR_NODE_HPP
30 #define INCLUDED_MDDS_MULTI_TYPE_VECTOR_DIR_ITERATOR_NODE_HPP
32 namespace mdds {
namespace detail {
namespace mtv {
40 template<
typename _SizeT>
43 using size_type = _SizeT;
45 mdds::mtv::element_t type;
51 type(mdds::mtv::element_type_empty), position(0), size(0), data(
nullptr), __private_data(block_index) {}
55 std::swap(type, other.type);
56 std::swap(position, other.position);
57 std::swap(size, other.size);
58 std::swap(data, other.data);
60 __private_data.swap(other.__private_data);
65 size_type block_index;
69 block_index(_block_index) {}
73 std::swap(block_index, other.block_index);
80 return type == other.type && position == other.position && size == other.size && data == other.data &&
81 __private_data.block_index == other.__private_data.block_index;
86 return !operator== (other);
90 template<
typename _SizeT>
99 template<
typename _SizeT>
106 ++nd.__private_data.block_index;
111 --nd.__private_data.block_index;
Definition: types.hpp:113
Definition: iterator_node.hpp:64
Definition: iterator_node.hpp:42
Definition: iterator_node.hpp:101
Definition: iterator_node.hpp:92