Mercurial > hg > vamp-build-and-test
view DEPENDENCIES/generic/include/boost/fusion/support/deduce_sequence.hpp @ 16:2665513ce2d3
Add boost headers
author | Chris Cannam |
---|---|
date | Tue, 05 Aug 2014 11:11:38 +0100 |
parents | |
children | c530137014c0 |
line wrap: on
line source
/*============================================================================= Copyright (c) 2007 Tobias Schwinger 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). ==============================================================================*/ #if !defined(BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED) #define BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED #include <boost/fusion/support/deduce.hpp> #include <boost/fusion/container/vector/convert.hpp> #include <boost/fusion/view/transform_view.hpp> #include <boost/config.hpp> namespace boost { namespace fusion { namespace traits { template <class Sequence> struct deduce_sequence; namespace detail { struct deducer { template <typename Sig> struct result; template <class Self, typename T> struct result< Self(T) > : fusion::traits::deduce<T> { }; // never called, but needed for decltype-based result_of (C++0x) #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template <typename T> typename result< deducer(T) >::type operator()(T&&) const; #endif }; } template <class Sequence> struct deduce_sequence : result_of::as_vector< fusion::transform_view<Sequence, detail::deducer> > { }; }}} #endif