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
16
17namespace msgpack {
18
22
23namespace type {
24
25template <typename T>
26struct size_equal_only;
27
28template <typename T>
29size_equal_only<T> make_size_equal_only(T& t);
30
31template <typename T>
32std::size_t size(T const& t);
33
34template <typename T, std::size_t N>
35std::size_t size(const T(&)[N]);
36
37#if !defined(MSGPACK_USE_CPP03)
38
39template <typename... T>
40std::size_t size(std::tuple<T...> const&);
41
42#endif // !defined(MSGPACK_USE_CPP03)
43
44} // namespace type
45
47} // MSGPACK_API_VERSION_NAMESPACE(v1)
49
50} // namespace msgpack
51
52#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