tweaked cref_result and ref_result to be non-lazy (for consistency).

[SVN r78058]
This commit is contained in:
Joel de Guzman
2012-04-18 02:57:56 +00:00
parent c8224c8bdf
commit 01f002f084
10 changed files with 47 additions and 48 deletions

View File

@@ -9,7 +9,7 @@
#include <tuple>
#include <utility>
#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/if.hpp>
#include <boost/fusion/support/detail/access.hpp>
#include <boost/type_traits/remove_const.hpp>
@@ -29,13 +29,13 @@ namespace boost { namespace fusion
struct apply
{
typedef typename remove_const<Sequence>::type seq_type;
typedef std::tuple_element<N::value, seq_type> element;
typedef typename std::tuple_element<N::value, seq_type>::type element;
typedef typename
mpl::eval_if<
mpl::if_<
is_const<Sequence>
, fusion::detail::cref_result<element>
, fusion::detail::ref_result<element>
, typename fusion::detail::cref_result<element>::type
, typename fusion::detail::ref_result<element>::type
>::type
type;