library of assembled shared sources

http://lass.cocamware.com

Range_algorithm

extra algorithms More...


Functions

template<typename InputRange , typename Op >
Op lass::stde::for_each_r (InputRange &range, Op op)
 std::for_each wrapper for ranges
template<typename InputRange , typename T >
InputRange::iterator lass::stde::find_r (const InputRange &range, const T &value)
 std::find wrapper for ranges
template<typename InputRange , typename Predicate >
InputRange::iterator lass::stde::find_if_r (const InputRange &range, Predicate pred)
 std::find_if wrapper for ranges
template<typename ForwardRange1 , typename ForwardRange2 >
ForwardRange1::iterator lass::stde::find_end_r (const ForwardRange1 &range1, const ForwardRange2 &range2)
 std::find_end wrapper for ranges
template<typename ForwardRange1 , typename ForwardRange2 , typename BinaryPredicate >
ForwardRange1::iterator lass::stde::find_end_r (const ForwardRange1 &range1, const ForwardRange2 &range2, BinaryPredicate pred)
 std::find_end wrapper for ranges
template<typename ForwardRange1 , typename ForwardRange2 >
ForwardRange1::iterator lass::stde::find_first_of_r (const ForwardRange1 &range1, const ForwardRange2 &range2)
 std::find_first_of wrapper for ranges
template<typename ForwardRange1 , typename ForwardRange2 , typename BinaryPredicate >
ForwardRange1::iterator lass::stde::find_first_of_r (const ForwardRange1 &range1, const ForwardRange2 &range2, BinaryPredicate pred)
 std::find_first_of wrapper for ranges
template<typename ForwardRange >
ForwardRange::iterator lass::stde::adjacent_find_r (const ForwardRange &range)
 std::adjacent_find wrapper for ranges
template<typename ForwardRange , typename Predicate >
ForwardRange::iterator lass::stde::adjacent_find_r (const ForwardRange &range, Predicate pred)
 std::adjacent_find wrapper for ranges
template<typename InputRange , typename T >
std::iterator_traits< typename
InputRange::iterator >
::difference_type 
lass::stde::count_r (const InputRange &range, const T &value)
 std::count wrapper for ranges
template<typename InputRange , typename Predicate >
std::iterator_traits< typename
InputRange::iterator >
::difference_type 
lass::stde::count_if_r (const InputRange &range, Predicate pred)
 std::count_if wrapper for ranges
template<typename InputRange1 , typename InputRange2 , typename BinaryPredicate >
std::pair< typename
InputRange1::iterator,
typename InputRange2::iterator > 
lass::stde::mismatch_r (const InputRange1 &range1, const InputRange2 &range2, BinaryPredicate pred)
 std::mismatch wrapper for ranges
template<typename InputRange1 , typename InputRange2 >
std::pair< typename
InputRange1::iterator,
typename InputRange2::iterator > 
lass::stde::mismatch_r (const InputRange1 &range1, const InputRange2 &range2)
 std::mismatch wrapper for ranges
template<typename InputRange1 , typename InputRange2 >
bool lass::stde::equal_r (const InputRange1 &range1, const InputRange2 &range2)
 std::mismatch wrapper for ranges
template<typename InputRange1 , typename InputRange2 , typename BinaryPredicate >
bool lass::stde::equal_r (const InputRange1 &range1, const InputRange2 &range2, BinaryPredicate pred)
 std::mismatch wrapper for ranges
template<typename ForwardRange1 , typename ForwardRange2 >
ForwardRange1::iterator lass::stde::search_r (const ForwardRange1 &range1, const ForwardRange2 &range2)
 std::search wrapper for ranges
template<typename ForwardRange1 , typename ForwardRange2 , typename BinaryPredicate >
ForwardRange1::iterator lass::stde::search_r (const ForwardRange1 &range1, const ForwardRange2 &range2, BinaryPredicate pred)
 std::search wrapper for ranges
template<typename ForwardRange , typename Size , typename T >
ForwardRange::iterator lass::stde::search_n_r (const ForwardRange &range, Size count, const T &value)
 std::search_n wrapper for ranges
template<typename ForwardRange , typename Size , typename T , typename BinaryPredicate >
ForwardRange::iterator lass::stde::search_n_r (const ForwardRange &range, Size count, const T &value, BinaryPredicate pred)
 std::search_n wrapper for ranges
template<typename InputRange , typename OutputIterator >
OutputIterator lass::stde::copy_r (const InputRange &range, OutputIterator result)
 std::copy wrapper for ranges
template<typename BidirectionalRange , typename BidirectionalIterator >
BidirectionalIterator lass::stde::copy_backward_r (const BidirectionalRange &range, BidirectionalIterator result)
 std::copy_backward wrapper for ranges
template<typename ForwardRange1 , typename ForwardRange2 >
ForwardRange2::iterator lass::stde::swap_ranges_r (ForwardRange1 &range1, ForwardRange2 &range2)
 std::swap_ranges wrapper for ranges
template<typename InputRange , typename OutputIterator , typename UnaryOperation >
OutputIterator lass::stde::transform_r (const InputRange &range, OutputIterator result, UnaryOperation op)
 std::transform wrapper for ranges
template<typename InputRange1 , typename InputRange2 , typename OutputIterator , typename BinaryOperation >
OutputIterator lass::stde::transform_r (const InputRange1 &range1, const InputRange2 &range2, OutputIterator result, BinaryOperation op)
 std::transform wrapper for ranges
template<typename ForwardRange , typename T >
void lass::stde::replace_r (ForwardRange &range, const T &old_value, const T &new_value)
 std::replace wrapper for ranges
template<typename ForwardRange , typename Predicate , typename T >
void lass::stde::replace_if_r (ForwardRange &range, Predicate pred, const T &new_value)
 std::replace_if wrapper for ranges
template<typename InputRange , typename OutputIterator , typename T >
OutputIterator lass::stde::replace_copy_r (const InputRange &range, OutputIterator result, const T &old_value, const T &new_value)
 std::replace_copy wrapper for ranges
template<typename InputRange , typename OutputIterator , typename Predicate , typename T >
OutputIterator lass::stde::replace_copy_if_r (const InputRange &range, OutputIterator result, Predicate pred, const T &new_value)
 std::replace_copy_if wrapper for ranges
template<typename ForwardRange , typename T >
void lass::stde::fill_r (ForwardRange &range, const T &value)
 std::fill wrapper for ranges
template<typename ForwardRange , typename Generator >
void lass::stde::generate_r (ForwardRange &range, Generator gen)
 std::generate wrapper for ranges
template<typename ForwardRange , typename T >
ForwardRange::iterator lass::stde::remove_r (ForwardRange &range, const T &value)
 std::remove wrapper for ranges
template<typename ForwardRange , typename Predicate >
ForwardRange::iterator lass::stde::remove_if_r (ForwardRange &range, Predicate pred)
 std::remove wrapper for ranges
template<typename InputRange , typename OutputIterator , typename T >
OutputIterator lass::stde::remove_copy_r (const InputRange &range, OutputIterator result, const T &value)
 std::remove_copy wrapper for ranges
template<typename InputRange , typename OutputIterator , typename Predicate >
OutputIterator lass::stde::remove_copy_if_r (const InputRange &range, OutputIterator result, Predicate pred)
 std::remove_copy wrapper for ranges
template<typename ForwardRange >
ForwardRange::iterator lass::stde::unique_r (ForwardRange &range)
 std::unique wrapper for ranges
template<typename ForwardRange , typename Predicate >
ForwardRange::iterator lass::stde::unique_r (ForwardRange &range, Predicate pred)
 std::unique wrapper for ranges
template<typename InputRange , typename OutputIterator >
OutputIterator lass::stde::unique_copy_r (const InputRange &range, OutputIterator result)
 std::unique_copy_r wrapper for ranges
template<typename InputRange , typename OutputIterator , typename Predicate >
OutputIterator lass::stde::unique_copy_r (const InputRange &range, OutputIterator result, Predicate pred)
 std::unique_copy_r wrapper for ranges
template<typename BidirectionalRange >
void lass::stde::reverse_r (BidirectionalRange &range)
 std::reverse wrapper for ranges
template<typename BidirectionalRange , typename OutputIterator >
OutputIterator lass::stde::reverse_copy_r (const BidirectionalRange &range, OutputIterator result)
 std::reverse_copy wrapper for ranges
template<typename ForwardRange >
void lass::stde::rotate_r (ForwardRange &range, typename ForwardRange::iterator middle)
 std::rotate wrapper for ranges
template<typename ForwardRange , typename OutputIterator >
void lass::stde::rotate_copy_r (const ForwardRange &range, typename ForwardRange::iterator middle, OutputIterator result)
 std::rotate_copy wrapper for ranges
template<typename RandomAccessRange >
void lass::stde::random_shuffle_r (RandomAccessRange &range)
 std::random_shuffle wrapper for ranges
template<typename RandomAccessRange , typename RandomNumberGenerator >
void lass::stde::random_shuffle_r (RandomAccessRange &range, RandomNumberGenerator &rand)
 std::random_shuffle wrapper for ranges
template<typename BidirectionalRange , typename Predicate >
BidirectionalRange::iterator lass::stde::partition_r (BidirectionalRange &range, Predicate pred)
 std::partition wrapper for ranges
template<typename BidirectionalRange , typename Predicate >
BidirectionalRange::iterator lass::stde::stable_partition_r (BidirectionalRange &range, Predicate pred)
 std::stable_partition wrapper for ranges


Detailed Description

extra algorithms

Author:
Bram de Greve [BdG]

Function Documentation

template<typename InputRange , typename Op >
Op lass::stde::for_each_r ( InputRange &  range,
Op  op 
) [inline]

std::for_each wrapper for ranges

Definition at line 69 of file range_algorithm.h.

Referenced by lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::smoothNormals().

template<typename InputRange , typename T >
InputRange::iterator lass::stde::find_r ( const InputRange &  range,
const T &  value 
) [inline]

std::find wrapper for ranges

Definition at line 79 of file range_algorithm.h.

template<typename InputRange , typename Predicate >
InputRange::iterator lass::stde::find_if_r ( const InputRange &  range,
Predicate  pred 
) [inline]

std::find_if wrapper for ranges

Definition at line 89 of file range_algorithm.h.

template<typename ForwardRange1 , typename ForwardRange2 >
ForwardRange1::iterator lass::stde::find_end_r ( const ForwardRange1 &  range1,
const ForwardRange2 &  range2 
) [inline]

std::find_end wrapper for ranges

Definition at line 99 of file range_algorithm.h.

template<typename ForwardRange1 , typename ForwardRange2 , typename BinaryPredicate >
ForwardRange1::iterator lass::stde::find_end_r ( const ForwardRange1 &  range1,
const ForwardRange2 &  range2,
BinaryPredicate  pred 
) [inline]

std::find_end wrapper for ranges

Definition at line 109 of file range_algorithm.h.

template<typename ForwardRange1 , typename ForwardRange2 >
ForwardRange1::iterator lass::stde::find_first_of_r ( const ForwardRange1 &  range1,
const ForwardRange2 &  range2 
) [inline]

std::find_first_of wrapper for ranges

Definition at line 119 of file range_algorithm.h.

template<typename ForwardRange1 , typename ForwardRange2 , typename BinaryPredicate >
ForwardRange1::iterator lass::stde::find_first_of_r ( const ForwardRange1 &  range1,
const ForwardRange2 &  range2,
BinaryPredicate  pred 
) [inline]

std::find_first_of wrapper for ranges

Definition at line 129 of file range_algorithm.h.

template<typename ForwardRange >
ForwardRange::iterator lass::stde::adjacent_find_r ( const ForwardRange &  range  )  [inline]

std::adjacent_find wrapper for ranges

Definition at line 139 of file range_algorithm.h.

template<typename ForwardRange , typename Predicate >
ForwardRange::iterator lass::stde::adjacent_find_r ( const ForwardRange &  range,
Predicate  pred 
) [inline]

std::adjacent_find wrapper for ranges

Definition at line 149 of file range_algorithm.h.

template<typename InputRange , typename T >
std::iterator_traits<typename InputRange::iterator>::difference_type lass::stde::count_r ( const InputRange &  range,
const T &  value 
) [inline]

std::count wrapper for ranges

Definition at line 159 of file range_algorithm.h.

template<typename InputRange , typename Predicate >
std::iterator_traits<typename InputRange::iterator>::difference_type lass::stde::count_if_r ( const InputRange &  range,
Predicate  pred 
) [inline]

std::count_if wrapper for ranges

Definition at line 169 of file range_algorithm.h.

template<typename InputRange1 , typename InputRange2 , typename BinaryPredicate >
std::pair<typename InputRange1::iterator, typename InputRange2::iterator> lass::stde::mismatch_r ( const InputRange1 &  range1,
const InputRange2 &  range2,
BinaryPredicate  pred 
) [inline]

std::mismatch wrapper for ranges

Definition at line 179 of file range_algorithm.h.

template<typename InputRange1 , typename InputRange2 >
std::pair<typename InputRange1::iterator, typename InputRange2::iterator> lass::stde::mismatch_r ( const InputRange1 &  range1,
const InputRange2 &  range2 
) [inline]

std::mismatch wrapper for ranges

Definition at line 189 of file range_algorithm.h.

template<typename InputRange1 , typename InputRange2 >
bool lass::stde::equal_r ( const InputRange1 &  range1,
const InputRange2 &  range2 
) [inline]

std::mismatch wrapper for ranges

Definition at line 198 of file range_algorithm.h.

template<typename InputRange1 , typename InputRange2 , typename BinaryPredicate >
bool lass::stde::equal_r ( const InputRange1 &  range1,
const InputRange2 &  range2,
BinaryPredicate  pred 
) [inline]

std::mismatch wrapper for ranges

Definition at line 207 of file range_algorithm.h.

Referenced by lass::io::Image::HeaderPfm::readFrom(), and lass::io::Image::HeaderRadianceHdr::readFrom().

template<typename ForwardRange1 , typename ForwardRange2 >
ForwardRange1::iterator lass::stde::search_r ( const ForwardRange1 &  range1,
const ForwardRange2 &  range2 
) [inline]

std::search wrapper for ranges

Definition at line 217 of file range_algorithm.h.

template<typename ForwardRange1 , typename ForwardRange2 , typename BinaryPredicate >
ForwardRange1::iterator lass::stde::search_r ( const ForwardRange1 &  range1,
const ForwardRange2 &  range2,
BinaryPredicate  pred 
) [inline]

std::search wrapper for ranges

Definition at line 227 of file range_algorithm.h.

template<typename ForwardRange , typename Size , typename T >
ForwardRange::iterator lass::stde::search_n_r ( const ForwardRange &  range,
Size  count,
const T &  value 
) [inline]

std::search_n wrapper for ranges

Definition at line 237 of file range_algorithm.h.

template<typename ForwardRange , typename Size , typename T , typename BinaryPredicate >
ForwardRange::iterator lass::stde::search_n_r ( const ForwardRange &  range,
Size  count,
const T &  value,
BinaryPredicate  pred 
) [inline]

std::search_n wrapper for ranges

Definition at line 247 of file range_algorithm.h.

template<typename InputRange , typename OutputIterator >
OutputIterator lass::stde::copy_r ( const InputRange &  range,
OutputIterator  result 
) [inline]

std::copy wrapper for ranges

Definition at line 256 of file range_algorithm.h.

template<typename BidirectionalRange , typename BidirectionalIterator >
BidirectionalIterator lass::stde::copy_backward_r ( const BidirectionalRange &  range,
BidirectionalIterator  result 
) [inline]

std::copy_backward wrapper for ranges

Definition at line 265 of file range_algorithm.h.

template<typename ForwardRange1 , typename ForwardRange2 >
ForwardRange2::iterator lass::stde::swap_ranges_r ( ForwardRange1 &  range1,
ForwardRange2 &  range2 
) [inline]

std::swap_ranges wrapper for ranges

Definition at line 275 of file range_algorithm.h.

template<typename InputRange , typename OutputIterator , typename UnaryOperation >
OutputIterator lass::stde::transform_r ( const InputRange &  range,
OutputIterator  result,
UnaryOperation  op 
) [inline]

std::transform wrapper for ranges

Definition at line 284 of file range_algorithm.h.

References lass::prim::transform().

template<typename InputRange1 , typename InputRange2 , typename OutputIterator , typename BinaryOperation >
OutputIterator lass::stde::transform_r ( const InputRange1 &  range1,
const InputRange2 &  range2,
OutputIterator  result,
BinaryOperation  op 
) [inline]

std::transform wrapper for ranges

Definition at line 293 of file range_algorithm.h.

References lass::prim::transform().

Referenced by lass::io::Image::HeaderRadianceHdr::readFrom().

template<typename ForwardRange , typename T >
void lass::stde::replace_r ( ForwardRange &  range,
const T &  old_value,
const T &  new_value 
) [inline]

std::replace wrapper for ranges

Definition at line 302 of file range_algorithm.h.

template<typename ForwardRange , typename Predicate , typename T >
void lass::stde::replace_if_r ( ForwardRange &  range,
Predicate  pred,
const T &  new_value 
) [inline]

std::replace_if wrapper for ranges

Definition at line 311 of file range_algorithm.h.

template<typename InputRange , typename OutputIterator , typename T >
OutputIterator lass::stde::replace_copy_r ( const InputRange &  range,
OutputIterator  result,
const T &  old_value,
const T &  new_value 
) [inline]

std::replace_copy wrapper for ranges

Definition at line 320 of file range_algorithm.h.

template<typename InputRange , typename OutputIterator , typename Predicate , typename T >
OutputIterator lass::stde::replace_copy_if_r ( const InputRange &  range,
OutputIterator  result,
Predicate  pred,
const T &  new_value 
) [inline]

std::replace_copy_if wrapper for ranges

Definition at line 329 of file range_algorithm.h.

template<typename ForwardRange , typename T >
void lass::stde::fill_r ( ForwardRange &  range,
const T &  value 
) [inline]

std::fill wrapper for ranges

Definition at line 338 of file range_algorithm.h.

template<typename ForwardRange , typename Generator >
void lass::stde::generate_r ( ForwardRange &  range,
Generator  gen 
) [inline]

std::generate wrapper for ranges

Definition at line 347 of file range_algorithm.h.

template<typename ForwardRange , typename T >
ForwardRange::iterator lass::stde::remove_r ( ForwardRange &  range,
const T &  value 
) [inline]

std::remove wrapper for ranges

Definition at line 357 of file range_algorithm.h.

template<typename ForwardRange , typename Predicate >
ForwardRange::iterator lass::stde::remove_if_r ( ForwardRange &  range,
Predicate  pred 
) [inline]

std::remove wrapper for ranges

Definition at line 367 of file range_algorithm.h.

template<typename InputRange , typename OutputIterator , typename T >
OutputIterator lass::stde::remove_copy_r ( const InputRange &  range,
OutputIterator  result,
const T &  value 
) [inline]

std::remove_copy wrapper for ranges

Definition at line 376 of file range_algorithm.h.

template<typename InputRange , typename OutputIterator , typename Predicate >
OutputIterator lass::stde::remove_copy_if_r ( const InputRange &  range,
OutputIterator  result,
Predicate  pred 
) [inline]

std::remove_copy wrapper for ranges

Definition at line 385 of file range_algorithm.h.

template<typename ForwardRange >
ForwardRange::iterator lass::stde::unique_r ( ForwardRange &  range  )  [inline]

std::unique wrapper for ranges

Definition at line 395 of file range_algorithm.h.

template<typename ForwardRange , typename Predicate >
ForwardRange::iterator lass::stde::unique_r ( ForwardRange &  range,
Predicate  pred 
) [inline]

std::unique wrapper for ranges

Definition at line 405 of file range_algorithm.h.

template<typename InputRange , typename OutputIterator >
OutputIterator lass::stde::unique_copy_r ( const InputRange &  range,
OutputIterator  result 
) [inline]

std::unique_copy_r wrapper for ranges

Definition at line 414 of file range_algorithm.h.

template<typename InputRange , typename OutputIterator , typename Predicate >
OutputIterator lass::stde::unique_copy_r ( const InputRange &  range,
OutputIterator  result,
Predicate  pred 
) [inline]

std::unique_copy_r wrapper for ranges

Definition at line 423 of file range_algorithm.h.

template<typename BidirectionalRange >
void lass::stde::reverse_r ( BidirectionalRange &  range  )  [inline]

std::reverse wrapper for ranges

Definition at line 432 of file range_algorithm.h.

template<typename BidirectionalRange , typename OutputIterator >
OutputIterator lass::stde::reverse_copy_r ( const BidirectionalRange &  range,
OutputIterator  result 
) [inline]

std::reverse_copy wrapper for ranges

Definition at line 441 of file range_algorithm.h.

template<typename ForwardRange >
void lass::stde::rotate_r ( ForwardRange &  range,
typename ForwardRange::iterator  middle 
) [inline]

std::rotate wrapper for ranges

Definition at line 450 of file range_algorithm.h.

template<typename ForwardRange , typename OutputIterator >
void lass::stde::rotate_copy_r ( const ForwardRange &  range,
typename ForwardRange::iterator  middle,
OutputIterator  result 
) [inline]

std::rotate_copy wrapper for ranges

Definition at line 459 of file range_algorithm.h.

template<typename RandomAccessRange >
void lass::stde::random_shuffle_r ( RandomAccessRange &  range  )  [inline]

std::random_shuffle wrapper for ranges

Definition at line 468 of file range_algorithm.h.

template<typename RandomAccessRange , typename RandomNumberGenerator >
void lass::stde::random_shuffle_r ( RandomAccessRange &  range,
RandomNumberGenerator &  rand 
) [inline]

std::random_shuffle wrapper for ranges

Precondition:
rand must take a value n so that it returns a value in the range [0, n)

Definition at line 478 of file range_algorithm.h.

template<typename BidirectionalRange , typename Predicate >
BidirectionalRange::iterator lass::stde::partition_r ( BidirectionalRange &  range,
Predicate  pred 
) [inline]

std::partition wrapper for ranges

Definition at line 488 of file range_algorithm.h.

template<typename BidirectionalRange , typename Predicate >
BidirectionalRange::iterator lass::stde::stable_partition_r ( BidirectionalRange &  range,
Predicate  pred 
) [inline]

std::stable_partition wrapper for ranges

Definition at line 498 of file range_algorithm.h.


Generated on Mon Nov 10 14:22:06 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo