The BOOST_PP_SUB macro expands to the difference between its arguments.

Usage

BOOST_PP_SUB(x, y)

Arguments

x
The minuend of the operation.  Valid values range from 0 to BOOST_PP_LIMIT_MAG.
y
The subtrahend of the operation.  Valid values range from 0 to BOOST_PP_LIMIT_MAG.

Remarks

If the difference between x and y is less than 0, the result is saturated to 0.
Previously, this macro could not be used inside BOOST_PP_WHILE.  There is no longer any such restriction.  It is more efficient, however, to use BOOST_PP_SUB_D in such a situation.

See Also

Requirements

Header:  <boost/preprocessor/arithmetic/sub.hpp>

Sample Code

#include <boost/preprocessor/arithmetic/sub.hpp>

BOOST_PP_SUB(4, 3) // expands to 1

Copyright Housemarque Oy 2002
Copyright Paul Mensonides 2002

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)