MessagePack for C++
size_equal_only_decl.hpp
Go to the documentation of this file.
1 //
2 // MessagePack for C++ static resolution routine
3 //
4 // Copyright (C) 2016 KONDO Takatoshi
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 #ifndef MSGPACK_V1_TYPE_SIZE_EQUAL_ONLY_DECL_HPP
11 #define MSGPACK_V1_TYPE_SIZE_EQUAL_ONLY_DECL_HPP
12 
13 #include "msgpack/versioning.hpp"
15 #include "msgpack/object.hpp"
17 
18 namespace msgpack {
19 
23 
24 namespace type {
25 
26 template <typename T>
27 struct size_equal_only;
28 
29 template <typename T>
30 size_equal_only<T> make_size_equal_only(T& t);
31 
32 template <typename T>
33 std::size_t size(T const& t);
34 
35 template <typename T, std::size_t N>
36 std::size_t size(const T(&)[N]);
37 
38 #if !defined(MSGPACK_USE_CPP03)
39 
40 template <typename... T>
41 std::size_t size(std::tuple<T...> const&);
42 
43 #endif // !defined(MSGPACK_USE_CPP03)
44 
45 } // namespace type
46 
48 } // MSGPACK_API_VERSION_NAMESPACE(v1)
50 
51 } // namespace msgpack
52 
53 #endif // MSGPACK_V1_TYPE_SIZE_EQUAL_ONLY_DECL_HPP
size_equal_only< T > make_size_equal_only(T &t)
Definition: size_equal_only.hpp:51
std::size_t size(T const &t)
Definition: size_equal_only.hpp:24
Definition: adaptor_base.hpp:15
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition: versioning.hpp:66