Apache C++ Standard Library Reference Guide

## minus

Library: General utilities

    binary_function     minus

- Local Index
- Summary
- Synopsis
- Description
- Interface
- See Also
- Standards Conformance

### Local Index

No Entries

### Summary

Function object that returns the result of subtracting its second argument from its first argument

### Synopsis

    #include <functional>

    namespace std {
      template <class T>
      struct minus : public binary_function<T, T, T>;
    }

### Description

minus is a binary function object. Its `operator()` returns the result of `x` minus `y`. You can pass a minus object to any algorithm that requires a binary function. For example, the `transform()` algorithm applies a binary operation to corresponding values in two collections and stores the result. minus would be used in that algorithm in the following manner:

    vector<int> vec1;
    vector<int> vec2;
    vector<int> vecResult;
    .
    .
    .
    transform(vec1.begin(), vec1.end(),
              vec2.begin(),
              vecResult.begin(), minus<int>());

After this call to `transform()`, `vecResult(n)` contains `vec1(n)` minus `vec2(n)`.

### Interface

    namespace std {

      template <class T>
      struct minus : binary_function<T, T, T> {
        T operator() (const T&, const T&) const;
      };
    }

### See Also

binary_function, Function Objects

### Standards Conformance

ISO/IEC 14882:1998 -- International Standard for Information Systems -- Programming Language C++, Section 20.3.2