checked_adjacent_difference
Same as adjacent_difference, but enforces the use of a checked iterator on the output iterator. checked_adjacent_difference is defined in the stdext namespace.
Note 

This algorithm is a Microsoft extension to the Standard C++ Library. Code implemented using this algorithm will not be portable. 
template<class InputIterator, class OutIterator> OutputIterator checked_adjacent_difference( InputIterator _First, InputIterator _Last, OutputIterator _Result ); template<class InputIterator, class OutputIterator, class BinaryOperation> OutputIterator checked_adjacent_difference( InputIterator _First, InputIterator _Last, OutputIterator _Result, BinaryOperation _Binary_op );
Parameters
 _First

An input iterator addressing the first element in the input range whose elements are to be differenced with their respective predecessors or where the pair of values is to be operated on by another specified binary operation.
 _Last

An input iterator addressing the last element in the input range whose elements are to be differenced with their respective predecessors or where the pair of values is to be operated on by another specified binary operation.
 _Result

An output iterator addressing the first element a destination range where the series of differences or the results of the specified operation is to be stored.
 _Binary_op

The binary operation that is to be applied in the generalized operation replacing the operation of subtraction in the differencing procedure.
See adjacent_difference for a code sample.
For more information on checked iterators, see Checked Iterators.