// Copyright Dean Michael Berris 2007. // 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) #ifndef __NETWORK_MESSAGE_TRANSFORMERS_HPP__ #define __NETWORK_MESSAGE_TRANSFORMERS_HPP__ /** transformers.hpp * * Pulls in all the transformers files. */ #include #include #include #include namespace boost { namespace network { namespace impl { template struct get_real_algorithm { typedef typename boost::function_traits< typename boost::remove_pointer< Algorithm >::type > ::result_type:: template type< typename boost::function_traits< typename boost::remove_pointer< Selector >::type >::result_type > type; }; template struct transform_impl : public get_real_algorithm::type { }; } // namspace impl template inline impl::transform_impl transform(Algorithm, Selector) { return impl::transform_impl(); } template inline basic_message & operator<< (basic_message & msg_, impl::transform_impl const & transformer) { transformer(msg_); return msg_; } } // namespace network } // namespace boost #endif // __NETWORK_MESSAGE_TRANSFORMERS_HPP__