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

- BOOST_PP_LIMIT_MAG
- BOOST_PP_SUB_D

#### Requirements

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

#### Sample Code

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

    BOOST_PP_SUB(4, 3) // expands to 1