1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
template< typename ITERATOR_A, typename ITERATOR_B, typename UNARY_PREDICATE >
bool for_all_for_all( ITERATOR_A begin_a, ITERATOR_A end_a,
ITERATOR_B begin_b, ITERATOR_B end_b,
UNARY_PREDICATE unary_predicate )
{
return std::all_of( begin_a, begin_b, unary_predicate ) &&
std::all_of( begin_b, end_b, unary_predicate ) ;
}
template< typename ITERATOR_A, typename ITERATOR_B, typename UNARY_PREDICATE >
bool for_all_for_some( ITERATOR_A begin_a, ITERATOR_A end_a,
ITERATOR_B begin_b, ITERATOR_B end_b,
UNARY_PREDICATE unary_predicate )
{
return std::all_of( begin_a, begin_b, unary_predicate ) &&
std::any_of( begin_b, end_b, unary_predicate ) ;
}
template< typename ITERATOR_A, typename ITERATOR_B, typename UNARY_PREDICATE >
bool for_none_for_some( ITERATOR_A begin_a, ITERATOR_A end_a,
ITERATOR_B begin_b, ITERATOR_B end_b,
UNARY_PREDICATE unary_predicate )
{
return std::none_of( begin_a, begin_b, unary_predicate ) &&
std::any_of( begin_b, end_b, unary_predicate ) ;
}
// etc
|