MessagePack for C++
iterator.hpp
Go to the documentation of this file.
1 //
2 // MessagePack for C++ static resolution routine
3 //
4 // Copyright (C) 2015 MIZUKI Hirata
5 //
6 // Distributed under the Boost Software License, Version 1.0.
7 // (See accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt)
9 //
10 
11 #ifndef MSGPACK_ITERATOR_HPP
12 #define MSGPACK_ITERATOR_HPP
13 #if !defined(MSGPACK_USE_CPP03)
14 
15 #include <msgpack/object_fwd.hpp>
16 
17 namespace msgpack
18 {
21  {
23  inline object_kv* begin(object_map &map) { return map.ptr; }
24  inline const object_kv* begin(const object_map &map) { return map.ptr; }
25  inline object_kv* end(object_map &map) { return map.ptr + map.size; }
26  inline const object_kv* end(const object_map &map) { return map.ptr + map.size; }
27 
28  inline object* begin(object_array &array) { return array.ptr; }
29  inline const object* begin(const object_array &array) { return array.ptr; }
30  inline object* end(object_array &array) { return array.ptr + array.size; }
31  inline const object* end(const object_array &array) { return array.ptr + array.size; }
33  }
35 }
36 
37 #endif // !defined(MSGPACK_USE_CPP03)
38 #endif // MSGPACK_ITERATOR_HPP
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition: versioning.hpp:58
msgpack::object_kv * ptr
Definition: object_fwd.hpp:56
uint32_t size
Definition: object_fwd.hpp:50
msgpack::object * ptr
Definition: object_fwd.hpp:51
Definition: adaptor_base.hpp:15
Definition: object_fwd.hpp:255
Definition: object_fwd.hpp:49
uint32_t size
Definition: object_fwd.hpp:55
Definition: object_fwd.hpp:54
object_kv * end(object_map &map)
Definition: iterator.hpp:25
object_kv * begin(object_map &map)
Definition: iterator.hpp:23
#define MSGPACK_DEFAULT_API_NS
Definition: versioning.hpp:17