forked from boostorg/fusion
usability tweaks: functions that return iterators return them as *const* to allow chaining when the recipient function expects a reference (e.g. foo(Iter&) )
[SVN r35940]
This commit is contained in:
@ -56,7 +56,7 @@ namespace boost { namespace fusion
|
|||||||
lazy_disable_if<
|
lazy_disable_if<
|
||||||
is_const<Sequence>
|
is_const<Sequence>
|
||||||
, result_of::find<Sequence, T>
|
, result_of::find<Sequence, T>
|
||||||
>::type
|
>::type const
|
||||||
find(Sequence& seq)
|
find(Sequence& seq)
|
||||||
{
|
{
|
||||||
typedef typename result_of::find<Sequence, T>::filter filter;
|
typedef typename result_of::find<Sequence, T>::filter filter;
|
||||||
@ -64,7 +64,7 @@ namespace boost { namespace fusion
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename T, typename Sequence>
|
template <typename T, typename Sequence>
|
||||||
inline typename result_of::find<Sequence const, T>::type
|
inline typename result_of::find<Sequence const, T>::type const
|
||||||
find(Sequence const& seq)
|
find(Sequence const& seq)
|
||||||
{
|
{
|
||||||
typedef typename result_of::find<Sequence const, T>::filter filter;
|
typedef typename result_of::find<Sequence const, T>::filter filter;
|
||||||
|
@ -51,7 +51,7 @@ namespace boost { namespace fusion
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename Pred, typename Sequence>
|
template <typename Pred, typename Sequence>
|
||||||
inline typename result_of::find_if<Sequence const, Pred>::type
|
inline typename result_of::find_if<Sequence const, Pred>::type const
|
||||||
find_if(Sequence const& seq)
|
find_if(Sequence const& seq)
|
||||||
{
|
{
|
||||||
typedef
|
typedef
|
||||||
|
@ -75,14 +75,14 @@ namespace boost { namespace fusion
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <int N, typename Iterator>
|
template <int N, typename Iterator>
|
||||||
inline typename result_of::advance_c<Iterator, N>::type
|
inline typename result_of::advance_c<Iterator, N>::type const
|
||||||
advance_c(Iterator const& i)
|
advance_c(Iterator const& i)
|
||||||
{
|
{
|
||||||
return result_of::advance_c<Iterator, N>::call(i);
|
return result_of::advance_c<Iterator, N>::call(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename N, typename Iterator>
|
template<typename N, typename Iterator>
|
||||||
inline typename result_of::advance<Iterator, N>::type
|
inline typename result_of::advance<Iterator, N>::type const
|
||||||
advance(Iterator const& i)
|
advance(Iterator const& i)
|
||||||
{
|
{
|
||||||
return result_of::advance<Iterator, N>::call(i);
|
return result_of::advance<Iterator, N>::call(i);
|
||||||
|
@ -54,7 +54,7 @@ namespace boost { namespace fusion
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename Iterator>
|
template <typename Iterator>
|
||||||
typename result_of::next<Iterator>::type
|
typename result_of::next<Iterator>::type const
|
||||||
next(Iterator const& i)
|
next(Iterator const& i)
|
||||||
{
|
{
|
||||||
return result_of::next<Iterator>::call(i);
|
return result_of::next<Iterator>::call(i);
|
||||||
|
@ -54,7 +54,7 @@ namespace boost { namespace fusion
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename Iterator>
|
template <typename Iterator>
|
||||||
typename result_of::prior<Iterator>::type
|
typename result_of::prior<Iterator>::type const
|
||||||
prior(Iterator const& i)
|
prior(Iterator const& i)
|
||||||
{
|
{
|
||||||
return result_of::prior<Iterator>::call(i);
|
return result_of::prior<Iterator>::call(i);
|
||||||
|
@ -58,14 +58,14 @@ namespace boost { namespace fusion
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename Sequence>
|
template <typename Sequence>
|
||||||
inline typename result_of::begin<Sequence>::type
|
inline typename result_of::begin<Sequence>::type const
|
||||||
begin(Sequence& seq)
|
begin(Sequence& seq)
|
||||||
{
|
{
|
||||||
return result_of::begin<Sequence>::call(seq);
|
return result_of::begin<Sequence>::call(seq);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Sequence>
|
template <typename Sequence>
|
||||||
inline typename result_of::begin<Sequence const>::type
|
inline typename result_of::begin<Sequence const>::type const
|
||||||
begin(Sequence const& seq)
|
begin(Sequence const& seq)
|
||||||
{
|
{
|
||||||
return result_of::begin<Sequence const>::call(seq);
|
return result_of::begin<Sequence const>::call(seq);
|
||||||
|
@ -58,14 +58,14 @@ namespace boost { namespace fusion
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename Sequence>
|
template <typename Sequence>
|
||||||
inline typename result_of::end<Sequence>::type
|
inline typename result_of::end<Sequence>::type const
|
||||||
end(Sequence& seq)
|
end(Sequence& seq)
|
||||||
{
|
{
|
||||||
return result_of::end<Sequence>::call(seq);
|
return result_of::end<Sequence>::call(seq);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Sequence>
|
template <typename Sequence>
|
||||||
inline typename result_of::end<Sequence const>::type
|
inline typename result_of::end<Sequence const>::type const
|
||||||
end(Sequence const& seq)
|
end(Sequence const& seq)
|
||||||
{
|
{
|
||||||
return result_of::end<Sequence const>::call(seq);
|
return result_of::end<Sequence const>::call(seq);
|
||||||
|
Reference in New Issue
Block a user