]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/container/detail/is_container.hpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / boost / container / detail / is_container.hpp
CommitLineData
b32b8144
FG
1//////////////////////////////////////////////////////////////////////////////
2//
3// (C) Copyright Ion Gaztanaga 2017-2017. Distributed under the Boost
4// Software License, Version 1.0. (See accompanying file
5// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6//
7// See http://www.boost.org/libs/container for documentation.
8//
9//////////////////////////////////////////////////////////////////////////////
10#ifndef BOOST_CONTAINER_DETAIL_IS_CONTAINER_HPP
11#define BOOST_CONTAINER_DETAIL_IS_CONTAINER_HPP
12
13#ifndef BOOST_CONFIG_HPP
14# include <boost/config.hpp>
15#endif
16
17#if defined(BOOST_HAS_PRAGMA_ONCE)
18# pragma once
19#endif
20
1e59de90
TL
21#if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
22#pragma GCC diagnostic push
23#pragma GCC diagnostic ignored "-Wunused-result"
24#endif
25
b32b8144
FG
26//empty
27#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME empty
28#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace is_container_detail {
29#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}}
30#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MIN 0
31#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MAX 0
32#include <boost/intrusive/detail/has_member_function_callable_with.hpp>
33
34//size
35#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME size
36#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace is_container_detail {
37#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}}
38#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MIN 0
39#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MAX 0
40#include <boost/intrusive/detail/has_member_function_callable_with.hpp>
41
1e59de90
TL
42//#pragma GCC diagnostic ignored "-Wunused-result"
43#if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
44#pragma GCC diagnostic pop
45#endif
46
b32b8144
FG
47namespace boost {
48namespace container {
11fdf7f2 49namespace dtl {
b32b8144
FG
50
51template <class Container>
52struct is_container
53{
54 static const bool value =
55 boost::container::is_container_detail::
56 has_member_function_callable_with_size <const Container>::value &&
57 boost::container::is_container_detail::
58 has_member_function_callable_with_empty<const Container>::value;
59};
60
92f5a8d4
TL
61template <>
62struct is_container<void>
63{
64 static const bool value = false;
65};
66
67
11fdf7f2 68} //namespace dtl {
b32b8144
FG
69} //namespace container {
70} //namespace boost {
71
72#endif //#ifndef BOOST_CONTAINER_DETAIL_IS_CONTAINER_HPP