std::chrono::duration::operator+(unary), std::chrono::duration::operator-(unary) - cppreference.com

##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::chrono::duration::operator+(unary), std::chrono::duration::operator-(unary)

From cppreference.com
< cpp‎ | chrono‎ | duration

| (1) |
constexpr duration operator+() const; |  | (until C++17)
constexpr std::common_type_t<duration> operator+() const; |  | (since C++17)
| (2) |
constexpr duration operator-() const; |  | (until C++17)
constexpr std::common_type_t<duration> operator-() const; |  | (since C++17)

Implements unary plus and unary minus for the durations.

If `rep_` is a member variable holding the number of ticks in a duration object, and `D` is the return type,

1) Equivalent to return D(*this);
2) Equivalent to return D(-rep_);

### [edit] Parameters

(none)

### [edit] Return value

1) a copy of this duration object
2) a copy of this duration object, with the number of ticks negated

### [edit] Example

Run this code

    #include <chrono>
    #include <iostream>

    int main()
    {
        std::chrono::seconds s1(10);
        std::chrono::seconds s2 = -s1;

        std::cout << "negated 10 seconds are " << s2.count() << " seconds\n";
    }

Output:

    negated 10 seconds are -10 seconds

### [edit] See also

operator++operator++(int)operator--operator--(int) | increments or decrements the tick count (public member function) [edit]
operator+operator-operator*operator/operator% | implements arithmetic operations with durations as arguments (function template) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/chrono/duration/operator_arith&oldid=91978"