sl@0: // (C) Copyright Jonathan Turkanis 2003. sl@0: // Distributed under the Boost Software License, Version 1.0. (See accompanying sl@0: // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.) sl@0: sl@0: // See http://www.boost.org/libs/iostreams for documentation. sl@0: sl@0: #ifndef BOOST_IOSTREAMS_DETAIL_DISPATCH_HPP_INCLUDED sl@0: #define BOOST_IOSTREAMS_DETAIL_DISPATCH_HPP_INCLUDED sl@0: sl@0: #if defined(_MSC_VER) && (_MSC_VER >= 1020) sl@0: # pragma once sl@0: #endif sl@0: sl@0: #include // BOOST_DEDUCED_TYPENAME. sl@0: #include sl@0: #include // category_of. sl@0: #include sl@0: #include sl@0: sl@0: namespace boost { namespace iostreams {namespace detail { sl@0: sl@0: template< typename T, typename Tag1, typename Tag2, sl@0: typename Tag3 = mpl::void_, typename Tag4 = mpl::void_, sl@0: typename Tag5 = mpl::void_, typename Tag6 = mpl::void_, sl@0: typename Category = sl@0: BOOST_DEDUCED_TYPENAME category_of::type > sl@0: struct dispatch sl@0: : iostreams::select< // Disambiguation for Tru64. sl@0: is_convertible, Tag1, sl@0: is_convertible, Tag2, sl@0: is_convertible, Tag3, sl@0: is_convertible, Tag4, sl@0: is_convertible, Tag5, sl@0: is_convertible, Tag6 sl@0: > sl@0: { }; sl@0: sl@0: } } } // End namespaces detail, iostreams, boost. sl@0: sl@0: #endif // #ifndef BOOST_IOSTREAMS_DETAIL_DISPATCH_HPP_INCLUDED