mirror of
https://github.com/boostorg/utility.git
synced 2025-05-09 15:04:00 +00:00
Remove headers that have been moved into core.
This commit is contained in:
parent
5a54e21ec5
commit
1ed9aaa2a4
@ -1,69 +0,0 @@
|
|||||||
#ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED
|
|
||||||
#define BOOST_CHECKED_DELETE_HPP_INCLUDED
|
|
||||||
|
|
||||||
// MS compatible compilers support #pragma once
|
|
||||||
|
|
||||||
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
|
||||||
# pragma once
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//
|
|
||||||
// boost/checked_delete.hpp
|
|
||||||
//
|
|
||||||
// Copyright (c) 2002, 2003 Peter Dimov
|
|
||||||
// Copyright (c) 2003 Daniel Frey
|
|
||||||
// Copyright (c) 2003 Howard Hinnant
|
|
||||||
//
|
|
||||||
// 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/utility/checked_delete.html for documentation.
|
|
||||||
//
|
|
||||||
|
|
||||||
namespace boost
|
|
||||||
{
|
|
||||||
|
|
||||||
// verify that types are complete for increased safety
|
|
||||||
|
|
||||||
template<class T> inline void checked_delete(T * x)
|
|
||||||
{
|
|
||||||
// intentionally complex - simplification causes regressions
|
|
||||||
typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
|
|
||||||
(void) sizeof(type_must_be_complete);
|
|
||||||
delete x;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class T> inline void checked_array_delete(T * x)
|
|
||||||
{
|
|
||||||
typedef char type_must_be_complete[ sizeof(T)? 1: -1 ];
|
|
||||||
(void) sizeof(type_must_be_complete);
|
|
||||||
delete [] x;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class T> struct checked_deleter
|
|
||||||
{
|
|
||||||
typedef void result_type;
|
|
||||||
typedef T * argument_type;
|
|
||||||
|
|
||||||
void operator()(T * x) const
|
|
||||||
{
|
|
||||||
// boost:: disables ADL
|
|
||||||
boost::checked_delete(x);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template<class T> struct checked_array_deleter
|
|
||||||
{
|
|
||||||
typedef void result_type;
|
|
||||||
typedef T * argument_type;
|
|
||||||
|
|
||||||
void operator()(T * x) const
|
|
||||||
{
|
|
||||||
boost::checked_array_delete(x);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace boost
|
|
||||||
|
|
||||||
#endif // #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED
|
|
@ -1,48 +0,0 @@
|
|||||||
// Boost noncopyable.hpp header file --------------------------------------//
|
|
||||||
|
|
||||||
// (C) Copyright Beman Dawes 1999-2003. 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/utility for documentation.
|
|
||||||
|
|
||||||
#ifndef BOOST_NONCOPYABLE_HPP_INCLUDED
|
|
||||||
#define BOOST_NONCOPYABLE_HPP_INCLUDED
|
|
||||||
|
|
||||||
#include <boost/config.hpp>
|
|
||||||
|
|
||||||
namespace boost {
|
|
||||||
|
|
||||||
// Private copy constructor and copy assignment ensure classes derived from
|
|
||||||
// class noncopyable cannot be copied.
|
|
||||||
|
|
||||||
// Contributed by Dave Abrahams
|
|
||||||
|
|
||||||
namespace noncopyable_ // protection from unintended ADL
|
|
||||||
{
|
|
||||||
class noncopyable
|
|
||||||
{
|
|
||||||
protected:
|
|
||||||
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)
|
|
||||||
BOOST_CONSTEXPR noncopyable() = default;
|
|
||||||
~noncopyable() = default;
|
|
||||||
#else
|
|
||||||
noncopyable() {}
|
|
||||||
~noncopyable() {}
|
|
||||||
#endif
|
|
||||||
#if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)
|
|
||||||
noncopyable( const noncopyable& ) = delete;
|
|
||||||
noncopyable& operator=( const noncopyable& ) = delete;
|
|
||||||
#else
|
|
||||||
private: // emphasize the following members are private
|
|
||||||
noncopyable( const noncopyable& );
|
|
||||||
noncopyable& operator=( const noncopyable& );
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef noncopyable_::noncopyable noncopyable;
|
|
||||||
|
|
||||||
} // namespace boost
|
|
||||||
|
|
||||||
#endif // BOOST_NONCOPYABLE_HPP_INCLUDED
|
|
@ -1,120 +0,0 @@
|
|||||||
#ifndef BOOST_REF_HPP_INCLUDED
|
|
||||||
#define BOOST_REF_HPP_INCLUDED
|
|
||||||
|
|
||||||
// MS compatible compilers support #pragma once
|
|
||||||
|
|
||||||
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
|
|
||||||
# pragma once
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <boost/config.hpp>
|
|
||||||
#include <boost/utility/addressof.hpp>
|
|
||||||
#include <boost/mpl/bool.hpp>
|
|
||||||
#include <boost/detail/workaround.hpp>
|
|
||||||
|
|
||||||
//
|
|
||||||
// ref.hpp - ref/cref, useful helper functions
|
|
||||||
//
|
|
||||||
// Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi)
|
|
||||||
// Copyright (C) 2001, 2002 Peter Dimov
|
|
||||||
// Copyright (C) 2002 David Abrahams
|
|
||||||
//
|
|
||||||
// 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/bind/ref.html for documentation.
|
|
||||||
//
|
|
||||||
|
|
||||||
namespace boost
|
|
||||||
{
|
|
||||||
|
|
||||||
template<class T> class reference_wrapper
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
typedef T type;
|
|
||||||
|
|
||||||
BOOST_FORCEINLINE explicit reference_wrapper(T& t): t_(boost::addressof(t)) {}
|
|
||||||
|
|
||||||
BOOST_FORCEINLINE operator T& () const { return *t_; }
|
|
||||||
|
|
||||||
BOOST_FORCEINLINE T& get() const { return *t_; }
|
|
||||||
|
|
||||||
BOOST_FORCEINLINE T* get_pointer() const { return t_; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
T* t_;
|
|
||||||
};
|
|
||||||
|
|
||||||
# if defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT(0x581) )
|
|
||||||
# define BOOST_REF_CONST
|
|
||||||
# else
|
|
||||||
# define BOOST_REF_CONST const
|
|
||||||
# endif
|
|
||||||
|
|
||||||
template<class T> BOOST_FORCEINLINE reference_wrapper<T> BOOST_REF_CONST ref(T & t)
|
|
||||||
{
|
|
||||||
return reference_wrapper<T>(t);
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class T> BOOST_FORCEINLINE reference_wrapper<T const> BOOST_REF_CONST cref(T const & t)
|
|
||||||
{
|
|
||||||
return reference_wrapper<T const>(t);
|
|
||||||
}
|
|
||||||
|
|
||||||
# undef BOOST_REF_CONST
|
|
||||||
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
class is_reference_wrapper
|
|
||||||
: public mpl::false_
|
|
||||||
{
|
|
||||||
};
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
class unwrap_reference
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
typedef T type;
|
|
||||||
};
|
|
||||||
|
|
||||||
# define AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(X) \
|
|
||||||
template<typename T> \
|
|
||||||
class is_reference_wrapper< X > \
|
|
||||||
: public mpl::true_ \
|
|
||||||
{ \
|
|
||||||
}; \
|
|
||||||
\
|
|
||||||
template<typename T> \
|
|
||||||
class unwrap_reference< X > \
|
|
||||||
{ \
|
|
||||||
public: \
|
|
||||||
typedef T type; \
|
|
||||||
}; \
|
|
||||||
/**/
|
|
||||||
|
|
||||||
AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T>)
|
|
||||||
#if !defined(BOOST_NO_CV_SPECIALIZATIONS)
|
|
||||||
AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> const)
|
|
||||||
AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> volatile)
|
|
||||||
AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF(reference_wrapper<T> const volatile)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
# undef AUX_REFERENCE_WRAPPER_METAFUNCTIONS_DEF
|
|
||||||
|
|
||||||
|
|
||||||
template <class T> BOOST_FORCEINLINE typename unwrap_reference<T>::type&
|
|
||||||
unwrap_ref(T& t)
|
|
||||||
{
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class T> BOOST_FORCEINLINE T* get_pointer( reference_wrapper<T> const & r )
|
|
||||||
{
|
|
||||||
return r.get_pointer();
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace boost
|
|
||||||
|
|
||||||
#endif // #ifndef BOOST_REF_HPP_INCLUDED
|
|
@ -1,162 +0,0 @@
|
|||||||
// Copyright (C) 2002 Brad King (brad.king@kitware.com)
|
|
||||||
// Douglas Gregor (gregod@cs.rpi.edu)
|
|
||||||
//
|
|
||||||
// Copyright (C) 2002, 2008, 2013 Peter Dimov
|
|
||||||
//
|
|
||||||
// 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)
|
|
||||||
|
|
||||||
// For more information, see http://www.boost.org
|
|
||||||
|
|
||||||
#ifndef BOOST_UTILITY_ADDRESSOF_HPP
|
|
||||||
# define BOOST_UTILITY_ADDRESSOF_HPP
|
|
||||||
|
|
||||||
# include <boost/config.hpp>
|
|
||||||
# include <boost/detail/workaround.hpp>
|
|
||||||
# include <cstddef>
|
|
||||||
|
|
||||||
namespace boost
|
|
||||||
{
|
|
||||||
|
|
||||||
namespace detail
|
|
||||||
{
|
|
||||||
|
|
||||||
template<class T> struct addr_impl_ref
|
|
||||||
{
|
|
||||||
T & v_;
|
|
||||||
|
|
||||||
BOOST_FORCEINLINE addr_impl_ref( T & v ): v_( v ) {}
|
|
||||||
BOOST_FORCEINLINE operator T& () const { return v_; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
addr_impl_ref & operator=(const addr_impl_ref &);
|
|
||||||
};
|
|
||||||
|
|
||||||
template<class T> struct addressof_impl
|
|
||||||
{
|
|
||||||
static BOOST_FORCEINLINE T * f( T & v, long )
|
|
||||||
{
|
|
||||||
return reinterpret_cast<T*>(
|
|
||||||
&const_cast<char&>(reinterpret_cast<const volatile char &>(v)));
|
|
||||||
}
|
|
||||||
|
|
||||||
static BOOST_FORCEINLINE T * f( T * v, int )
|
|
||||||
{
|
|
||||||
return v;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#if !defined( BOOST_NO_CXX11_NULLPTR )
|
|
||||||
|
|
||||||
#if defined( __clang__ ) && !defined( _LIBCPP_VERSION ) && !defined( BOOST_NO_CXX11_DECLTYPE )
|
|
||||||
|
|
||||||
typedef decltype(nullptr) addr_nullptr_t;
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
typedef std::nullptr_t addr_nullptr_t;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
template<> struct addressof_impl< addr_nullptr_t >
|
|
||||||
{
|
|
||||||
typedef addr_nullptr_t T;
|
|
||||||
|
|
||||||
static BOOST_FORCEINLINE T * f( T & v, int )
|
|
||||||
{
|
|
||||||
return &v;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template<> struct addressof_impl< addr_nullptr_t const >
|
|
||||||
{
|
|
||||||
typedef addr_nullptr_t const T;
|
|
||||||
|
|
||||||
static BOOST_FORCEINLINE T * f( T & v, int )
|
|
||||||
{
|
|
||||||
return &v;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template<> struct addressof_impl< addr_nullptr_t volatile >
|
|
||||||
{
|
|
||||||
typedef addr_nullptr_t volatile T;
|
|
||||||
|
|
||||||
static BOOST_FORCEINLINE T * f( T & v, int )
|
|
||||||
{
|
|
||||||
return &v;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template<> struct addressof_impl< addr_nullptr_t const volatile >
|
|
||||||
{
|
|
||||||
typedef addr_nullptr_t const volatile T;
|
|
||||||
|
|
||||||
static BOOST_FORCEINLINE T * f( T & v, int )
|
|
||||||
{
|
|
||||||
return &v;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
} // namespace detail
|
|
||||||
|
|
||||||
template<class T>
|
|
||||||
BOOST_FORCEINLINE
|
|
||||||
T * addressof( T & v )
|
|
||||||
{
|
|
||||||
#if (defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) ) ) || defined( __SUNPRO_CC )
|
|
||||||
|
|
||||||
return boost::detail::addressof_impl<T>::f( v, 0 );
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
return boost::detail::addressof_impl<T>::f( boost::detail::addr_impl_ref<T>( v ), 0 );
|
|
||||||
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined( __SUNPRO_CC ) && BOOST_WORKAROUND( __SUNPRO_CC, BOOST_TESTED_AT( 0x590 ) )
|
|
||||||
|
|
||||||
namespace detail
|
|
||||||
{
|
|
||||||
|
|
||||||
template<class T> struct addressof_addp
|
|
||||||
{
|
|
||||||
typedef T * type;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace detail
|
|
||||||
|
|
||||||
template< class T, std::size_t N >
|
|
||||||
BOOST_FORCEINLINE
|
|
||||||
typename detail::addressof_addp< T[N] >::type addressof( T (&t)[N] )
|
|
||||||
{
|
|
||||||
return &t;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Borland doesn't like casting an array reference to a char reference
|
|
||||||
// but these overloads work around the problem.
|
|
||||||
#if defined( __BORLANDC__ ) && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
|
|
||||||
template<typename T,std::size_t N>
|
|
||||||
BOOST_FORCEINLINE
|
|
||||||
T (*addressof(T (&t)[N]))[N]
|
|
||||||
{
|
|
||||||
return reinterpret_cast<T(*)[N]>(&t);
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename T,std::size_t N>
|
|
||||||
BOOST_FORCEINLINE
|
|
||||||
const T (*addressof(const T (&t)[N]))[N]
|
|
||||||
{
|
|
||||||
return reinterpret_cast<const T(*)[N]>(&t);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
} // namespace boost
|
|
||||||
|
|
||||||
#endif // BOOST_UTILITY_ADDRESSOF_HPP
|
|
@ -1,119 +0,0 @@
|
|||||||
// Boost enable_if library
|
|
||||||
|
|
||||||
// Copyright 2003 (c) The Trustees of Indiana University.
|
|
||||||
|
|
||||||
// Use, modification, and distribution is subject to 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)
|
|
||||||
|
|
||||||
// Authors: Jaakko Jarvi (jajarvi at osl.iu.edu)
|
|
||||||
// Jeremiah Willcock (jewillco at osl.iu.edu)
|
|
||||||
// Andrew Lumsdaine (lums at osl.iu.edu)
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef BOOST_UTILITY_ENABLE_IF_HPP
|
|
||||||
#define BOOST_UTILITY_ENABLE_IF_HPP
|
|
||||||
|
|
||||||
#include "boost/config.hpp"
|
|
||||||
|
|
||||||
// Even the definition of enable_if causes problems on some compilers,
|
|
||||||
// so it's macroed out for all compilers that do not support SFINAE
|
|
||||||
|
|
||||||
#ifndef BOOST_NO_SFINAE
|
|
||||||
|
|
||||||
namespace boost
|
|
||||||
{
|
|
||||||
|
|
||||||
template <bool B, class T = void>
|
|
||||||
struct enable_if_c {
|
|
||||||
typedef T type;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <class T>
|
|
||||||
struct enable_if_c<false, T> {};
|
|
||||||
|
|
||||||
template <class Cond, class T = void>
|
|
||||||
struct enable_if : public enable_if_c<Cond::value, T> {};
|
|
||||||
|
|
||||||
template <bool B, class T>
|
|
||||||
struct lazy_enable_if_c {
|
|
||||||
typedef typename T::type type;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <class T>
|
|
||||||
struct lazy_enable_if_c<false, T> {};
|
|
||||||
|
|
||||||
template <class Cond, class T>
|
|
||||||
struct lazy_enable_if : public lazy_enable_if_c<Cond::value, T> {};
|
|
||||||
|
|
||||||
|
|
||||||
template <bool B, class T = void>
|
|
||||||
struct disable_if_c {
|
|
||||||
typedef T type;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <class T>
|
|
||||||
struct disable_if_c<true, T> {};
|
|
||||||
|
|
||||||
template <class Cond, class T = void>
|
|
||||||
struct disable_if : public disable_if_c<Cond::value, T> {};
|
|
||||||
|
|
||||||
template <bool B, class T>
|
|
||||||
struct lazy_disable_if_c {
|
|
||||||
typedef typename T::type type;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <class T>
|
|
||||||
struct lazy_disable_if_c<true, T> {};
|
|
||||||
|
|
||||||
template <class Cond, class T>
|
|
||||||
struct lazy_disable_if : public lazy_disable_if_c<Cond::value, T> {};
|
|
||||||
|
|
||||||
} // namespace boost
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
namespace boost {
|
|
||||||
|
|
||||||
namespace detail { typedef void enable_if_default_T; }
|
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
struct enable_if_does_not_work_on_this_compiler;
|
|
||||||
|
|
||||||
template <bool B, class T = detail::enable_if_default_T>
|
|
||||||
struct enable_if_c : enable_if_does_not_work_on_this_compiler<T>
|
|
||||||
{ };
|
|
||||||
|
|
||||||
template <bool B, class T = detail::enable_if_default_T>
|
|
||||||
struct disable_if_c : enable_if_does_not_work_on_this_compiler<T>
|
|
||||||
{ };
|
|
||||||
|
|
||||||
template <bool B, class T = detail::enable_if_default_T>
|
|
||||||
struct lazy_enable_if_c : enable_if_does_not_work_on_this_compiler<T>
|
|
||||||
{ };
|
|
||||||
|
|
||||||
template <bool B, class T = detail::enable_if_default_T>
|
|
||||||
struct lazy_disable_if_c : enable_if_does_not_work_on_this_compiler<T>
|
|
||||||
{ };
|
|
||||||
|
|
||||||
template <class Cond, class T = detail::enable_if_default_T>
|
|
||||||
struct enable_if : enable_if_does_not_work_on_this_compiler<T>
|
|
||||||
{ };
|
|
||||||
|
|
||||||
template <class Cond, class T = detail::enable_if_default_T>
|
|
||||||
struct disable_if : enable_if_does_not_work_on_this_compiler<T>
|
|
||||||
{ };
|
|
||||||
|
|
||||||
template <class Cond, class T = detail::enable_if_default_T>
|
|
||||||
struct lazy_enable_if : enable_if_does_not_work_on_this_compiler<T>
|
|
||||||
{ };
|
|
||||||
|
|
||||||
template <class Cond, class T = detail::enable_if_default_T>
|
|
||||||
struct lazy_disable_if : enable_if_does_not_work_on_this_compiler<T>
|
|
||||||
{ };
|
|
||||||
|
|
||||||
} // namespace boost
|
|
||||||
|
|
||||||
#endif // BOOST_NO_SFINAE
|
|
||||||
|
|
||||||
#endif
|
|
Loading…
x
Reference in New Issue
Block a user