annotate DEPENDENCIES/generic/include/boost/fusion/container/deque/convert.hpp @ 16:2665513ce2d3

Add boost headers
author Chris Cannam
date Tue, 05 Aug 2014 11:11:38 +0100
parents
children c530137014c0
rev   line source
Chris@16 1 /*=============================================================================
Chris@16 2 Copyright (c) 2005-2013 Joel de Guzman
Chris@16 3 Copyright (c) 2006 Dan Marsden
Chris@16 4
Chris@16 5 Distributed under the Boost Software License, Version 1.0. (See accompanying
Chris@16 6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@16 7 ==============================================================================*/
Chris@16 8 #if !defined(FUSION_CONVERT_20061213_2207)
Chris@16 9 #define FUSION_CONVERT_20061213_2207
Chris@16 10
Chris@16 11 #include <boost/fusion/container/deque/detail/convert_impl.hpp>
Chris@16 12 #include <boost/fusion/container/deque/deque.hpp>
Chris@16 13
Chris@16 14 #if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
Chris@16 15 ///////////////////////////////////////////////////////////////////////////////
Chris@16 16 // C++03 (non-variadic) implementation
Chris@16 17 ///////////////////////////////////////////////////////////////////////////////
Chris@16 18 #include <boost/fusion/container/deque/detail/cpp03/build_deque.hpp>
Chris@16 19
Chris@16 20 #else
Chris@16 21 ///////////////////////////////////////////////////////////////////////////////
Chris@16 22 // C++11 variadic implementation
Chris@16 23 ///////////////////////////////////////////////////////////////////////////////
Chris@16 24 #include <boost/fusion/container/deque/detail/build_deque.hpp>
Chris@16 25
Chris@16 26 namespace boost { namespace fusion
Chris@16 27 {
Chris@16 28 namespace result_of
Chris@16 29 {
Chris@16 30 template <typename Sequence>
Chris@16 31 struct as_deque :
Chris@16 32 detail::build_deque<
Chris@16 33 typename result_of::begin<Sequence>::type
Chris@16 34 , typename result_of::end<Sequence>::type
Chris@16 35 >
Chris@16 36 {
Chris@16 37 };
Chris@16 38 }
Chris@16 39
Chris@16 40 template <typename Sequence>
Chris@16 41 inline typename result_of::as_deque<Sequence>::type
Chris@16 42 as_deque(Sequence& seq)
Chris@16 43 {
Chris@16 44 typedef result_of::as_deque<Sequence> gen;
Chris@16 45 return gen::call(fusion::begin(seq), fusion::end(seq));
Chris@16 46 }
Chris@16 47
Chris@16 48 template <typename Sequence>
Chris@16 49 inline typename result_of::as_deque<Sequence const>::type
Chris@16 50 as_deque(Sequence const& seq)
Chris@16 51 {
Chris@16 52 typedef result_of::as_deque<Sequence const> gen;
Chris@16 53 return gen::call(fusion::begin(seq), fusion::end(seq));
Chris@16 54 }
Chris@16 55 }}
Chris@16 56
Chris@16 57 #endif
Chris@16 58 #endif