diff -r 000000000000 -r e4d67989cc36 ossrv_pub/boost_apis/boost/tr1/functional.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ossrv_pub/boost_apis/boost/tr1/functional.hpp Tue Feb 02 02:01:42 2010 +0200 @@ -0,0 +1,137 @@ +// (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 +# include + +#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) +# ifdef BOOST_HAS_INCLUDE_NEXT +# include_next BOOST_TR1_HEADER(functional) +# else +# include BOOST_TR1_STD_HEADER(BOOST_TR1_PATH(functional)) +# endif +#endif + +#ifndef BOOST_HAS_TR1_REFERENCE_WRAPPER + +#include + +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 + +namespace std{ namespace tr1{ + + using ::boost::result_of; + +} } + +#endif // BOOST_HAS_TR1_RESULT_OF + +#ifndef BOOST_HAS_TR1_MEM_FN +// mem_fn: +#include + +namespace std{ namespace tr1{ + +using boost::mem_fn; + +} } + +#endif // BOOST_HAS_TR1_MEM_FN + + +#ifndef BOOST_HAS_TR1_BIND +// Bind: +#include + +namespace std{ namespace tr1{ + + // These aren't supported in this release but are in mainline cvs: + // 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 +#include + +#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 struct hash; +} + +namespace std{ namespace tr1{ + using ::boost::hash; + +}} + +#include + +#endif + +#endif +