annotate DEPENDENCIES/generic/include/boost/type_erasure/detail/get_signature.hpp @ 24:e1b89e300e76

Add constant-q-cpp
author Chris Cannam
date Tue, 05 Aug 2014 17:19:56 +0100
parents 2665513ce2d3
children c530137014c0
rev   line source
Chris@16 1 // Boost.TypeErasure library
Chris@16 2 //
Chris@16 3 // Copyright 2012 Steven Watanabe
Chris@16 4 //
Chris@16 5 // Distributed under the Boost Software License Version 1.0. (See
Chris@16 6 // accompanying file LICENSE_1_0.txt or copy at
Chris@16 7 // http://www.boost.org/LICENSE_1_0.txt)
Chris@16 8 //
Chris@16 9 // $Id: get_signature.hpp 78429 2012-05-12 02:37:24Z steven_watanabe $
Chris@16 10
Chris@16 11 #ifndef BOOST_TYPE_ERASURE_DETAIL_GET_SIGNATURE_HPP_INCLUDED
Chris@16 12 #define BOOST_TYPE_ERASURE_DETAIL_GET_SIGNATURE_HPP_INCLUDED
Chris@16 13
Chris@16 14 #include <boost/typeof/typeof.hpp>
Chris@16 15 #include <boost/type_traits/remove_pointer.hpp>
Chris@16 16
Chris@16 17 namespace boost {
Chris@16 18 namespace type_erasure {
Chris@16 19 namespace detail {
Chris@16 20
Chris@16 21 template<class Concept>
Chris@16 22 struct get_signature {
Chris@16 23 BOOST_TYPEOF_NESTED_TYPEDEF_TPL(nested, &Concept::apply)
Chris@16 24 typedef typename boost::remove_pointer<
Chris@16 25 typename nested::type
Chris@16 26 >::type type;
Chris@16 27 };
Chris@16 28
Chris@16 29 }
Chris@16 30 }
Chris@16 31 }
Chris@16 32
Chris@16 33 #endif