std::literals::chrono_literals::operator""s - cppreference.com

##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::literals::chrono_literals::operator""s

From cppreference.com
< cpp‎ | chrono

Defined in header `<chrono>` |  |
constexpr chrono::seconds operator "" s(unsigned long long secs); | (1) | (since C++14)
constexpr chrono::duration</*unspecified*/> operator "" s(long double secs); | (2) | (since C++14)

Forms a std::chrono::duration literal representing seconds.

1) integer literal, returns exactly std::chrono::seconds(secs)
2) floating-point literal, returns a floating-point duration equivalent to std::chrono::seconds

### [edit] Parameters

secs | - | the number of seconds

### [edit] Return value

The std::chrono::duration literal.

### [edit] Possible implementation

    constexpr std::chrono::seconds operator ""s(unsigned long long s)
    {
        return std::chrono::seconds(m);
    }
    constexpr std::chrono::duration<long double> operator ""s(long double s)
    {
        return std::chrono::duration<long double>(s);
    }

### [edit] Notes

These operators are declared in the namespace `std::literals::chrono_literals`, where both `literals` and `chrono_literals` are inline namespaces. Access to these operators can be gained with using namespace std::literals and using namespace std::literals::chrono_literals.

In addition, within the namespace `std::chrono`, the directive using namespace literals::chrono_literals; is provided by the standard library, so that if a programmer uses using namespace std::chrono; to gain access to the duration classes, the duration literal operators become visible as well.

std::string also defines `operator""s`, to represent literal objects of type `std::string`, but it is a string literal: 10s is ten seconds, but "10"s is a two-character string.

### [edit] Example

Run this code

    #include <iostream>
    #include <chrono>

    int main()
    {
        using namespace std::literals::chrono_literals;
        auto halfmin = 30s;
        std::cout << "half a minute is " << halfmin.count() << " seconds\n"
                  << "a minute and a half is " << (1min + 30s).count() << " seconds\n";
    }

Output:

    half a minute is 30 seconds
    a minute and a half is 90 seconds

### [edit] See also

(constructor) | constructs new duration (public member function of `std::chrono::duration`) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/chrono/operator%22%22s&oldid=68727"