123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- #ifndef BOOST_BEAST_BIND_HANDLER_HPP
- #define BOOST_BEAST_BIND_HANDLER_HPP
- #include <boost/beast/core/detail/config.hpp>
- #include <boost/beast/core/detail/bind_handler.hpp>
- #include <type_traits>
- #include <utility>
- namespace boost {
- namespace beast {
- template<class Handler, class... Args>
- #if BOOST_BEAST_DOXYGEN
- __implementation_defined__
- #else
- detail::bind_wrapper<
- typename std::decay<Handler>::type,
- typename std::decay<Args>::type...>
- #endif
- bind_handler(Handler&& handler, Args&&... args)
- {
- return detail::bind_wrapper<
- typename std::decay<Handler>::type,
- typename std::decay<Args>::type...>(
- std::forward<Handler>(handler),
- std::forward<Args>(args)...);
- }
- template<class Handler, class... Args>
- #if BOOST_BEAST_DOXYGEN
- __implementation_defined__
- #else
- auto
- #endif
- bind_front_handler(
- Handler&& handler,
- Args&&... args) ->
- detail::bind_front_wrapper<
- typename std::decay<Handler>::type,
- typename std::decay<Args>::type...>
- {
- return detail::bind_front_wrapper<
- typename std::decay<Handler>::type,
- typename std::decay<Args>::type...>(
- std::forward<Handler>(handler),
- std::forward<Args>(args)...);
- }
- }
- }
- #endif
|