/*============================================================================= Copyright (c) 2003 Joel de Guzman Use, modification and distribution is 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(FUSION_ALGORITHM_PUSH_FRONT_HPP) #define FUSION_ALGORITHM_PUSH_FRONT_HPP #include namespace boost { namespace fusion { namespace meta { template struct push_front { typedef prepend_view type; }; } namespace function { struct push_front { template struct apply : meta::push_front {}; template inline typename apply::type operator()(Sequence const& seq, T const& x) const { typedef prepend_view result; return result(seq, x); } template inline typename apply::type operator()(Sequence& seq, T const& x) const { typedef prepend_view result; return result(seq, x); } }; } function::push_front const push_front = function::push_front(); }} #endif