]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/hana/include/boost/hana/detail/operators/adl.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / hana / include / boost / hana / detail / operators / adl.hpp
CommitLineData
7c673cae
FG
1/*!
2@file
3Defines `boost::hana::detail::operators::adl`.
4
5@copyright Louis Dionne 2013-2016
6Distributed under the Boost Software License, Version 1.0.
7(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
8 */
9
10#ifndef BOOST_HANA_DETAIL_OPERATORS_ADL_HPP
11#define BOOST_HANA_DETAIL_OPERATORS_ADL_HPP
12
13#include <boost/hana/config.hpp>
14
15
16BOOST_HANA_NAMESPACE_BEGIN namespace detail { namespace operators {
17 //! @ingroup group-details
18 //! Enables [ADL](http://en.cppreference.com/w/cpp/language/adl) in the
19 //! `hana::detail::operators` namespace.
20 //!
21 //! This is used by containers in Hana as a quick way to automatically
22 //! define the operators associated to some concepts, in conjunction
23 //! with the `detail::xxx_operators` family of metafunctions.
24 //!
25 //! Note that `adl` can be passed template arguments to make it unique
26 //! amongst a set of derived classes. This allows a set of derived classes
27 //! not to possess a common base class, which would disable the EBO when
28 //! many of these derived classes are stored in a Hana container. If EBO
29 //! is not a concern, `adl<>` can simply be used.
30 template <typename ...>
31 struct adl { };
32}} BOOST_HANA_NAMESPACE_END
33
34#endif // !BOOST_HANA_DETAIL_OPERATORS_ADL_HPP