Argument tuple for variadic emplace/constructor calls. Stores arguments by (decayed) value. Restores original argument types with reference qualifiers and adornments at unpack time to emulate perfect forwarding.
Synopsis
Declared in <folly/container/Iterator.h>
template<typename... Args>
struct emplace_args
: std::tuple<std::decay_t<Args>...>
Description
Uses inheritance instead of a type alias to std::tuple so that emplace iterators with implicit unpacking disabled can distinguish between emplace_args and std::tuple parameters.
Base Classes
Name |
Description |
|
Types
Name |
Type Aliases
Name |
Description |
The underlying tuple type storing the decayed arguments. |
Member Functions
Name |
Description |
Assignment operators |
|
Using Declarations
Name |
Non-Member Functions
Name |
Description |
Getter function for unpacking a single emplace argument from an lvalue pack. |
|
Getter function for unpacking a single emplace argument. |
|
Getter function for unpacking a single emplace argument from a const pack. |
|
Pack arguments in a tuple for assignment to a folly::emplace_iterator, folly::front_emplace_iterator, or folly::back_emplace_iterator. The iterator's operator= will unpack the tuple and pass the unpacked arguments to the container's emplace function, which in turn forwards the arguments to the (multi‐argument) constructor of the target class. |
Created with MrDocs