std::experimental::optional<T>::emplace
From cppreference.com
< cpp | experimental | optional
C++
Experimental
| Technical Specification | ||||
| Filesystem library (filesystem TS) | ||||
| Library fundamentals (library fundamentals TS) | ||||
| Library fundamentals 2 (library fundamentals TS v2) | ||||
| Library fundamentals 3 (library fundamentals TS v3) | ||||
| Extensions for parallelism (parallelism TS) | ||||
| Extensions for parallelism 2 (parallelism TS v2) | ||||
| Extensions for concurrency (concurrency TS) | ||||
| Extensions for concurrency 2 (concurrency TS v2) | ||||
| Concepts (concepts TS) | ||||
| Ranges (ranges TS) | ||||
| Reflection (reflection TS) | ||||
| Mathematical special functions (special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
Library fundamentals
std::experimental::optional
| Member functions | ||||
| Observers | ||||
| Modifiers | ||||
optional::emplace | ||||
| Non-member functions | ||||
| Helper classes | ||||
| Helper objects | ||||
| template< class... Args > void emplace( Args&&... args ); |
(library fundamentals TS) | |
| template< class U, class... Args > void emplace( std::initializer_list<U> ilist, Args&&... args ); |
(library fundamentals TS) | |
Constructs the contained value in-place. If *this already contains a value before the call, the contained value is destroyed by calling its destructor.
1) Initializes the contained value by direct-initializing (but not direct-list-initializing) with std::forward<Args>(args)... as parameters.
2) Initializes the contained value by calling its constructor with ilist, std::forward<Args>(args)... as parameters. This overload participates in overload resolution only if std::is_constructible<T, std::initializer_list<U>&, Args&&...>::value is true.
Contents |
[edit] Parameters
| args... | - | the arguments to pass to the constructor |
| ilist | - | the initializer list to pass to the constructor |
| Type requirements | ||
-T must be constructible from Args...
| ||
-T must be constructible from std::initializer_list and Args...
| ||
[edit] Return value
(none)
[edit] Exceptions
Any exception thrown by the selected constructor of T. If an exception is thrown, *this does not contain a value after this call (the previously contained value, if any, had been destroyed).
[edit] See also
| assigns contents (public member function) [edit] |