Adobe Source Libraries 1.49.0
A collection of C++ libraries.
Loading...
Searching...
No Matches

Functions

template<class T, class R>
const T & min (const T &a, const T &b, R r)
 minmax implementation
template<class T, class R>
T & min (T &a, T &b, R r)
 minmax implementation
template<class T>
const T & min (const T &a, const T &b)
 minmax implementation
template<class T>
T & min (T &a, T &b)
 minmax implementation
template<class T, class R>
const T & max (const T &a, const T &b, R r)
 minmax implementation
template<class T, class R>
T & max (T &a, T &b, R r)
 minmax implementation
template<class T>
const T & max (const T &a, const T &b)
 minmax implementation
template<class T>
T & max (T &a, T &b)
 minmax implementation
template<class ForwardRange>
boost::range_iterator< ForwardRange >::type min_element (ForwardRange &range)
 minmax implementation
template<class ForwardRange>
boost::range_const_iterator< ForwardRange >::type min_element (const ForwardRange &range)
 minmax implementation
template<class ForwardIterator, class R>
ForwardIterator min_element (ForwardIterator first, ForwardIterator last, R r)
 minmax implementation
template<class ForwardRange, class R>
boost::range_iterator< ForwardRange >::type min_element (ForwardRange &range, R r)
 minmax implementation
template<class ForwardRange, class R>
boost::range_const_iterator< ForwardRange >::type min_element (const ForwardRange &range, R r)
 minmax implementation
template<class ForwardRange>
boost::range_iterator< ForwardRange >::type max_element (ForwardRange &range)
 minmax implementation
template<class ForwardRange>
boost::range_const_iterator< ForwardRange >::type max_element (const ForwardRange &range)
 minmax implementation
template<class ForwardIterator, class R>
ForwardIterator max_element (ForwardIterator first, ForwardIterator last, R r)
 minmax implementation
template<class ForwardRange, class R>
boost::range_iterator< ForwardRange >::type max_element (ForwardRange &range, R r)
 minmax implementation
template<class ForwardRange, class R>
boost::range_const_iterator< ForwardRange >::type max_element (const ForwardRange &range, R r)
 minmax implementation

Detailed Description

Note
adobe::max differs is stable with respect to sort order where std::max is not. That is:

int a = 1; int b = 1;

assert(&adobe::max(a, b) == b); assert(&std::max(a, b) == a);

adobe::min and adobe::max also implement non-const forms which are not available in the standard which allow the result to be used as an l-value.

int a = 1; int b = 2;

adobe::min(a, b) = 10;

assert(a == 10);

See also

Function Documentation

◆ min() [1/4]

template<class T, class R>
const T & min ( const T & a,
const T & b,
R r )

Definition at line 69 of file minmax.hpp.

◆ min() [2/4]

template<class T, class R>
T & min ( T & a,
T & b,
R r )

Definition at line 80 of file minmax.hpp.

◆ min() [3/4]

template<class T>
const T & min ( const T & a,
const T & b )

Definition at line 91 of file minmax.hpp.

◆ min() [4/4]

template<class T>
T & min ( T & a,
T & b )

Definition at line 102 of file minmax.hpp.

◆ max() [1/4]

template<class T, class R>
const T & max ( const T & a,
const T & b,
R r )

Definition at line 113 of file minmax.hpp.

◆ max() [2/4]

template<class T, class R>
T & max ( T & a,
T & b,
R r )

Definition at line 124 of file minmax.hpp.

◆ max() [3/4]

template<class T>
const T & max ( const T & a,
const T & b )

Definition at line 136 of file minmax.hpp.

◆ max() [4/4]

template<class T>
T & max ( T & a,
T & b )

Definition at line 147 of file minmax.hpp.

◆ min_element() [1/5]

template<class ForwardRange>
boost::range_iterator< ForwardRange >::type min_element ( ForwardRange & range)

Definition at line 157 of file minmax.hpp.

◆ min_element() [2/5]

template<class ForwardRange>
boost::range_const_iterator< ForwardRange >::type min_element ( const ForwardRange & range)

Definition at line 168 of file minmax.hpp.

◆ min_element() [3/5]

template<class ForwardIterator, class R>
ForwardIterator min_element ( ForwardIterator first,
ForwardIterator last,
R r )

Definition at line 178 of file minmax.hpp.

◆ min_element() [4/5]

template<class ForwardRange, class R>
boost::range_iterator< ForwardRange >::type min_element ( ForwardRange & range,
R r )

Definition at line 189 of file minmax.hpp.

◆ min_element() [5/5]

template<class ForwardRange, class R>
boost::range_const_iterator< ForwardRange >::type min_element ( const ForwardRange & range,
R r )

Definition at line 200 of file minmax.hpp.

◆ max_element() [1/5]

template<class ForwardRange>
boost::range_iterator< ForwardRange >::type max_element ( ForwardRange & range)

Definition at line 210 of file minmax.hpp.

◆ max_element() [2/5]

template<class ForwardRange>
boost::range_const_iterator< ForwardRange >::type max_element ( const ForwardRange & range)

Definition at line 221 of file minmax.hpp.

◆ max_element() [3/5]

template<class ForwardIterator, class R>
ForwardIterator max_element ( ForwardIterator first,
ForwardIterator last,
R r )

Definition at line 231 of file minmax.hpp.

◆ max_element() [4/5]

template<class ForwardRange, class R>
boost::range_iterator< ForwardRange >::type max_element ( ForwardRange & range,
R r )

Definition at line 242 of file minmax.hpp.

◆ max_element() [5/5]

template<class ForwardRange, class R>
boost::range_const_iterator< ForwardRange >::type max_element ( const ForwardRange & range,
R r )

Definition at line 253 of file minmax.hpp.