12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #ifndef BOOST_INTRUSIVE_DETAIL_VALUE_FUNCTORS_HPP
- #define BOOST_INTRUSIVE_DETAIL_VALUE_FUNCTORS_HPP
- ///////////////////////////////////////////////////////////////////////////////
- //
- // (C) Copyright Ion Gaztanaga 2017-2021. Distributed under the Boost
- // Software License, Version 1.0. (See accompanying file
- // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- //
- // See http://www.boost.org/libs/intrusive for documentation.
- //
- ///////////////////////////////////////////////////////////////////////////////
- #ifndef BOOST_CONFIG_HPP
- # include <boost/config.hpp>
- #endif
- #if defined(BOOST_HAS_PRAGMA_ONCE)
- # pragma once
- #endif
- #include <cstddef>
- namespace boost {
- namespace intrusive {
- //Functors for member algorithm defaults
- template<class ValueType>
- struct value_less
- {
- bool operator()(const ValueType &a, const ValueType &b) const
- { return a < b; }
- };
- //Functors for member algorithm defaults
- template<class T>
- struct value_less<T*>
- {
- bool operator()(const T *a, const T* b) const
- { return std::size_t(a) < std::size_t(b); }
- };
- template<class ValueType>
- struct value_equal
- {
- bool operator()(const ValueType &a, const ValueType &b) const
- { return a == b; }
- };
- } //namespace intrusive {
- } //namespace boost {
- #endif //BOOST_INTRUSIVE_DETAIL_VALUE_FUNCTORS_HPP
|