Hideaki Tai / msgpack-embedded

Dependents:   hello_message_pack

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers iterator.hpp Source File

iterator.hpp

00001 //
00002 // MessagePack for C++ static resolution routine
00003 //
00004 // Copyright (C) 2015 MIZUKI Hirata
00005 //
00006 //    Distributed under the Boost Software License, Version 1.0.
00007 //    (See accompanying file LICENSE_1_0.txt or copy at
00008 //    http://www.boost.org/LICENSE_1_0.txt)
00009 //
00010 
00011 #ifndef MSGPACK_ITERATOR_HPP
00012 #define MSGPACK_ITERATOR_HPP
00013 #if !defined(MSGPACK_USE_CPP03)
00014 
00015 #include <msgpack/object_fwd.hpp>
00016 
00017 namespace msgpack
00018 {
00019     /// @cond
00020     MSGPACK_API_VERSION_NAMESPACE(MSGPACK_DEFAULT_API_NS)
00021     {
00022     /// @endcond
00023         inline object_kv* begin(object_map &map) { return map.ptr; }
00024         inline const object_kv* begin(const object_map &map) { return map.ptr; }
00025         inline object_kv* end(object_map &map) { return map.ptr + map.size; }
00026         inline const object_kv* end(const object_map &map) { return map.ptr + map.size; }
00027 
00028         inline object* begin(object_array &array) { return array.ptr; }
00029         inline const object* begin(const object_array &array) { return array.ptr; }
00030         inline object* end(object_array &array) { return array.ptr + array.size; }
00031         inline const object* end(const object_array &array) { return array.ptr + array.size; }
00032     /// @cond
00033     }
00034     /// @endcond
00035 }
00036 
00037 #endif // !defined(MSGPACK_USE_CPP03)
00038 #endif // MSGPACK_ITERATOR_HPP