2017-10-04 18:37:32 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 1996,1997
|
|
|
|
* Silicon Graphics Computer Systems, Inc.
|
|
|
|
*
|
|
|
|
* Copyright (c) 1999
|
|
|
|
* Boris Fomitchev
|
|
|
|
*
|
|
|
|
* This material is provided "as is", with absolutely no warranty expressed
|
|
|
|
* or implied. Any use is at your own risk.
|
|
|
|
*
|
|
|
|
* Permission to use or copy this software for any purpose is hereby granted
|
|
|
|
* without fee, provided the above notices are retained on all copies.
|
|
|
|
* Permission to modify the code and to distribute modified code is granted,
|
|
|
|
* provided the above notices are retained, and a notice that the code was
|
|
|
|
* modified is included with the above copyright notice.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _STLP_FUNCTIONAL
|
|
|
|
|
|
|
|
#ifndef _STLP_OUTERMOST_HEADER_ID
|
|
|
|
# define _STLP_OUTERMOST_HEADER_ID 0x27
|
|
|
|
# include <stl/_prolog.h>
|
|
|
|
# define _STLP_FUNCTIONAL
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (_STLP_OUTERMOST_HEADER_ID == 0x27)
|
|
|
|
# ifndef _STLP_INTERNAL_FUNCTION_H
|
|
|
|
# include <stl/_function.h>
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (_STLP_OUTERMOST_HEADER_ID != 0x27) || defined (_STLP_IMPORT_VENDOR_STD)
|
|
|
|
# if defined (_STLP_HAS_INCLUDE_NEXT)
|
|
|
|
# include_next <functional>
|
|
|
|
# else
|
|
|
|
# include _STLP_NATIVE_HEADER(functional)
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if (_STLP_OUTERMOST_HEADER_ID == 0x27)
|
|
|
|
# include <stl/_epilog.h>
|
|
|
|
# undef _STLP_OUTERMOST_HEADER_ID
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if !defined(_STLP_NO_EXTENSIONS) && defined(_STLP_USE_BOOST_SUPPORT)
|
|
|
|
|
|
|
|
#include <boost/ref.hpp>
|
|
|
|
#include <boost/utility/result_of.hpp>
|
|
|
|
#include <boost/bind/placeholders.hpp>
|
|
|
|
#include <boost/mem_fn.hpp>
|
|
|
|
#include <boost/bind.hpp>
|
|
|
|
|
|
|
|
namespace boost {
|
|
|
|
|
|
|
|
template<class T> class reference_wrapper;
|
|
|
|
template<class T> reference_wrapper<T> const ref(T &);
|
|
|
|
template<class T> inline reference_wrapper<T const> const cref(T const &);
|
|
|
|
|
|
|
|
template<typename F> struct result_of;
|
|
|
|
|
|
|
|
namespace _mfi {
|
|
|
|
template<class R, class T> class dm;
|
|
|
|
}
|
|
|
|
|
|
|
|
template<class R, class T> _mfi::dm<R, T> mem_fn(R T::*f);
|
|
|
|
|
|
|
|
} // namespace boost
|
|
|
|
|
|
|
|
_STLP_BEGIN_NAMESPACE
|
|
|
|
|
|
|
|
namespace tr1 {
|
|
|
|
|
|
|
|
using ::boost::reference_wrapper;
|
|
|
|
using ::boost::ref;
|
|
|
|
using ::boost::cref;
|
|
|
|
|
|
|
|
using ::boost::result_of;
|
|
|
|
|
|
|
|
using ::boost::mem_fn;
|
|
|
|
|
|
|
|
using ::boost::bind;
|
|
|
|
|
|
|
|
namespace placeholders {
|
|
|
|
using ::_1;
|
|
|
|
using ::_2;
|
|
|
|
using ::_3;
|
|
|
|
using ::_4;
|
|
|
|
using ::_5;
|
|
|
|
using ::_6;
|
|
|
|
using ::_7;
|
|
|
|
using ::_8;
|
|
|
|
using ::_9;
|
|
|
|
} // placeholders
|
|
|
|
|
|
|
|
} // namespace tr1
|
|
|
|
|
|
|
|
_STLP_END_NAMESPACE
|
|
|
|
|
|
|
|
#endif // !_STLP_NO_EXTENSIONS && _STLP_USE_BOOST_SUPPORT
|
|
|
|
|
|
|
|
#endif /* _STLP_FUNCTIONAL */
|
|
|
|
|
|
|
|
#if !defined(_STLP_FUNCTIONAL_FUN) && !defined(_STLP_NO_EXTENSIONS) && defined(_STLP_USE_BOOST_SUPPORT)
|
|
|
|
|
|
|
|
#ifndef BOOST_FUNCTION_NUM_ARGS // avoid recursive includes
|
|
|
|
|
|
|
|
// #ifdef BOOST_FUNCTION_BASE_HEADER
|
|
|
|
// #undef BOOST_FUNCTION_BASE_HEADER
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
// #ifdef BOOST_FUNCTION_PROLOGUE_HPP
|
|
|
|
// #undef BOOST_FUNCTION_PROLOGUE_HPP
|
|
|
|
// #endif
|
|
|
|
|
|
|
|
#define _STLP_FUNCTIONAL_FUN
|
|
|
|
|
|
|
|
#ifndef BOOST_FUNCTION_BASE_HEADER // avoid recursive includes
|
|
|
|
# include <boost/function.hpp>
|
|
|
|
#else
|
|
|
|
namespace boost {
|
|
|
|
class bad_function_call;
|
|
|
|
template<typename Signature, typename Allocator >
|
|
|
|
class function;
|
|
|
|
template<typename Signature, typename Allocator>
|
|
|
|
void swap(function<Signature, Allocator>& f1, function<Signature, Allocator>& f2);
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
_STLP_BEGIN_NAMESPACE
|
|
|
|
|
|
|
|
namespace tr1 {
|
|
|
|
|
|
|
|
using ::boost::bad_function_call;
|
|
|
|
using ::boost::function;
|
|
|
|
using ::boost::swap;
|
|
|
|
|
|
|
|
} // namespace tr1
|
|
|
|
|
|
|
|
_STLP_END_NAMESPACE
|
|
|
|
|
|
|
|
#endif // !BOOST_FUNCTION_NUM_ARGS
|
|
|
|
|
|
|
|
#endif // !_STLP_FUNCTIONAL_REF && !_STLP_NO_EXTENSIONS && _STLP_USE_BOOST_SUPPORT
|
|
|
|
|
|
|
|
// Local Variables:
|
|
|
|
// mode:C++
|
|
|
|
// End:
|