/*============================================================================= Copyright (c) 2001-2011 Joel de Guzman Distributed under 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_SEQUENCE_INTRINSIC_FWD_HPP_INCLUDED) #define BOOST_FUSION_SEQUENCE_INTRINSIC_FWD_HPP_INCLUDED #include #include #include namespace boost { namespace fusion { namespace extension { template struct at_impl; template struct begin_impl; template struct empty_impl; template struct end_impl; template struct has_key_impl; template struct segments_impl; template struct size_impl; template struct value_at_impl; template struct at_key_impl; template struct value_at_key_impl; } namespace result_of { template struct at; template struct at_c; template struct back; template struct begin; template struct empty; template struct end; template struct front; template struct has_key; template struct segments; template struct size; template struct value_at; template struct value_at_c; template struct at_key; template struct value_at_key; } template typename lazy_disable_if< is_const , result_of::at >::type at(Sequence& seq); template typename result_of::at::type at(Sequence const& seq); template typename lazy_disable_if< is_const , result_of::at_c >::type at_c(Sequence& seq); template typename result_of::at_c::type at_c(Sequence const& seq); template typename result_of::back::type back(Sequence& seq); template typename result_of::back::type back(Sequence const& seq); template typename lazy_enable_if< traits::is_sequence , result_of::begin >::type const begin(Sequence& seq); template typename lazy_enable_if< traits::is_sequence , result_of::begin >::type const begin(Sequence const& seq); template typename result_of::empty::type empty(Sequence const&); template typename lazy_enable_if< traits::is_sequence , result_of::end >::type const end(Sequence& seq); template typename lazy_enable_if< traits::is_sequence , result_of::end >::type const end(Sequence const& seq); template typename result_of::front::type front(Sequence& seq); template typename result_of::front::type front(Sequence const& seq); template typename result_of::has_key::type has_key(Sequence const& seq); template typename lazy_disable_if< is_const , result_of::segments >::type segments(Sequence& seq); template typename result_of::segments::type segments(Sequence const& seq); template typename result_of::size::type size(Sequence const&); template typename lazy_disable_if< is_const , result_of::at_key >::type at_key(Sequence& seq); template typename result_of::at_key::type at_key(Sequence const& seq); }} #endif