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:
Joel de Guzman
2006-11-09 01:48:46 +00:00
parent 4b061d2716
commit c621277c07
7 changed files with 11 additions and 11 deletions

View File

@ -56,7 +56,7 @@ namespace boost { namespace fusion
lazy_disable_if<
is_const<Sequence>
, result_of::find<Sequence, T>
>::type
>::type const
find(Sequence& seq)
{
typedef typename result_of::find<Sequence, T>::filter filter;
@ -64,7 +64,7 @@ namespace boost { namespace fusion
}
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)
{
typedef typename result_of::find<Sequence const, T>::filter filter;

View File

@ -51,7 +51,7 @@ namespace boost { namespace fusion
}
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)
{
typedef

View File

@ -75,14 +75,14 @@ namespace boost { namespace fusion
}
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)
{
return result_of::advance_c<Iterator, N>::call(i);
}
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)
{
return result_of::advance<Iterator, N>::call(i);

View File

@ -54,7 +54,7 @@ namespace boost { namespace fusion
}
template <typename Iterator>
typename result_of::next<Iterator>::type
typename result_of::next<Iterator>::type const
next(Iterator const& i)
{
return result_of::next<Iterator>::call(i);

View File

@ -54,7 +54,7 @@ namespace boost { namespace fusion
}
template <typename Iterator>
typename result_of::prior<Iterator>::type
typename result_of::prior<Iterator>::type const
prior(Iterator const& i)
{
return result_of::prior<Iterator>::call(i);

View File

@ -58,14 +58,14 @@ namespace boost { namespace fusion
}
template <typename Sequence>
inline typename result_of::begin<Sequence>::type
inline typename result_of::begin<Sequence>::type const
begin(Sequence& seq)
{
return result_of::begin<Sequence>::call(seq);
}
template <typename Sequence>
inline typename result_of::begin<Sequence const>::type
inline typename result_of::begin<Sequence const>::type const
begin(Sequence const& seq)
{
return result_of::begin<Sequence const>::call(seq);

View File

@ -58,14 +58,14 @@ namespace boost { namespace fusion
}
template <typename Sequence>
inline typename result_of::end<Sequence>::type
inline typename result_of::end<Sequence>::type const
end(Sequence& seq)
{
return result_of::end<Sequence>::call(seq);
}
template <typename Sequence>
inline typename result_of::end<Sequence const>::type
inline typename result_of::end<Sequence const>::type const
end(Sequence const& seq)
{
return result_of::end<Sequence const>::call(seq);