/usr/include/boost/tr1/functional.hpp is in libboost1.49-dev 1.49.0-3.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | // (C) Copyright John Maddock 2005.
// Use, modification and distribution are 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)
#ifndef BOOST_TR1_FUNCTIONAL_HPP_INCLUDED
# define BOOST_TR1_FUNCTIONAL_HPP_INCLUDED
# include <boost/tr1/detail/config.hpp>
# include <functional>
#if defined(BOOST_HAS_TR1_REFERENCE_WRAPPER) \
|| defined(BOOST_HAS_TR1_RESULT_OF)\
|| defined(BOOST_HAS_TR1_MEM_FN)\
|| defined(BOOST_HAS_TR1_BIND)\
|| defined(BOOST_HAS_TR1_FUNCTION)\
|| defined(BOOST_HAS_TR1_HASH)
# if defined(BOOST_HAS_INCLUDE_NEXT) && !defined(BOOST_TR1_DISABLE_INCLUDE_NEXT)
# include_next BOOST_TR1_HEADER(functional)
# else
# include <boost/tr1/detail/config_all.hpp>
# include BOOST_TR1_STD_HEADER(BOOST_TR1_PATH(functional))
# endif
#endif
#ifndef BOOST_HAS_TR1_REFERENCE_WRAPPER
#include <boost/ref.hpp>
namespace std{ namespace tr1{
using ::boost::reference_wrapper;
using ::boost::ref;
using ::boost::cref;
} }
#endif // BOOST_HAS_TR1_REFERENCE_WRAPPER
#if !defined(BOOST_HAS_TR1_RESULT_OF)\
&& !defined(BOOST_NO_SFINAE) && \
!defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
//
// we can only actually include result_of.hpp if the compiler
// really does support it, otherwise we just get endless errors...
//
#include <boost/utility/result_of.hpp>
namespace std{ namespace tr1{
template<class F>
struct result_of
: ::boost::tr1_result_of<F>
{};
} }
#endif // BOOST_HAS_TR1_RESULT_OF
#ifndef BOOST_HAS_TR1_MEM_FN
// mem_fn:
#include <boost/mem_fn.hpp>
namespace std{ namespace tr1{
using boost::mem_fn;
} }
#endif // BOOST_HAS_TR1_MEM_FN
#ifndef BOOST_HAS_TR1_BIND
// Bind:
#include <boost/bind.hpp>
namespace std{ namespace tr1{
using ::boost::is_bind_expression;
using ::boost::is_placeholder;
using ::boost::bind;
namespace placeholders {
#ifndef BOOST_BIND_NO_PLACEHOLDERS
using ::_1;
using ::_2;
using ::_3;
using ::_4;
using ::_5;
using ::_6;
using ::_7;
using ::_8;
using ::_9;
#endif
} // placeholders
} }
#endif
#ifndef BOOST_HAS_TR1_FUNCTION
// polymorphic function object wrappers:
#include <boost/function.hpp>
#include <boost/detail/workaround.hpp>
#if !BOOST_WORKAROUND(__BORLANDC__, < 0x582) \
&& !BOOST_WORKAROUND(BOOST_MSVC, < 1310) \
&& !defined(BOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
namespace std{ namespace tr1{
using ::boost::bad_function_call;
using ::boost::function;
using ::boost::swap;
}}
#endif
#endif // BOOST_HAS_TR1_FUNCTION
#ifndef BOOST_HAS_TR1_HASH
//
// This header can get included by boost/hash.hpp
// leading to cyclic dependencies. As a workaround
// we forward declare boost::hash and include
// the actual header later.
//
namespace boost{
template <class T> struct hash;
}
namespace std{ namespace tr1{
//using ::boost::hash;
template <class T>
struct hash : public boost::hash<T>
{
};
}}
#include <boost/functional/hash.hpp>
#endif
#endif
|