diff options
Diffstat (limited to 'src/third_party/boost-1.56.0/boost/intrusive/detail/ebo_functor_holder.hpp')
-rw-r--r-- | src/third_party/boost-1.56.0/boost/intrusive/detail/ebo_functor_holder.hpp | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/src/third_party/boost-1.56.0/boost/intrusive/detail/ebo_functor_holder.hpp b/src/third_party/boost-1.56.0/boost/intrusive/detail/ebo_functor_holder.hpp deleted file mode 100644 index 3c2959b9704..00000000000 --- a/src/third_party/boost-1.56.0/boost/intrusive/detail/ebo_functor_holder.hpp +++ /dev/null @@ -1,95 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Joaquin M Lopez Munoz 2006-2013 -// -// 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_INTRUSIVE_DETAIL_EBO_HOLDER_HPP -#define BOOST_INTRUSIVE_DETAIL_EBO_HOLDER_HPP - -#include <boost/intrusive/detail/config_begin.hpp> -#include <boost/intrusive/detail/mpl.hpp> - -namespace boost { -namespace intrusive { -namespace detail { - -template<typename T, bool IsEmpty = true> -class ebo_functor_holder_impl -{ - public: - ebo_functor_holder_impl() - {} - ebo_functor_holder_impl(const T& t) - : t_(t) - {} - template<class Arg1, class Arg2> - ebo_functor_holder_impl(const Arg1& arg1, const Arg2& arg2) - : t_(arg1, arg2) - {} - - T& get(){return t_;} - const T& get()const{return t_;} - - private: - T t_; -}; - -template<typename T> -class ebo_functor_holder_impl<T, false> - : public T -{ - public: - ebo_functor_holder_impl() - {} - ebo_functor_holder_impl(const T& t) - : T(t) - {} - template<class Arg1, class Arg2> - ebo_functor_holder_impl(const Arg1& arg1, const Arg2& arg2) - : T(arg1, arg2) - {} - - T& get(){return *this;} - const T& get()const{return *this;} -}; - -template<typename T> -class ebo_functor_holder - : public ebo_functor_holder_impl<T, is_unary_or_binary_function<T>::value> -{ - private: - typedef ebo_functor_holder_impl<T, is_unary_or_binary_function<T>::value> super; - - public: - ebo_functor_holder(){} - ebo_functor_holder(const T& t) - : super(t) - {} - - template<class Arg1, class Arg2> - ebo_functor_holder(const Arg1& arg1, const Arg2& arg2) - : super(arg1, arg2) - {} - - ebo_functor_holder& operator=(const ebo_functor_holder& x) - { - this->get()=x.get(); - return *this; - } -}; - - -} //namespace detail { -} //namespace intrusive { -} //namespace boost { - -#include <boost/intrusive/detail/config_end.hpp> - -#endif //#ifndef BOOST_INTRUSIVE_DETAIL_EBO_HOLDER_HPP |