Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellt ein Objekt.
template<class Ty, class... Atypes>
void construct(Ty *ptr, Atypes&&... args);
template<class Ty1, class Ty2, class... Atypes1, class... Atypes2>
void construct(pair<Ty1, Ty2> *ptr, piecewise_construct_t,
tuple<Atypes1&&...> first, tuple<Atypes1&&...> second);
template<class Ty1, class Ty2>
void construct(pair<Ty1, Ty2> *ptr);
template<class Ty1, class Ty2, class Uy1, class Uy2>
void construct(pair<Ty1, Ty2> *ptr,
class Uy1&& first, class Uy2&& second);
template<class Ty1, class Ty2, class Uy1, class Uy2>
void construct(pair<Ty1, Ty2> *ptr, const pair<Uy1, Uy2>& right);
template<class Ty1, class Ty2, class Uy1, class Uy2>
void construct(pair<Ty1, Ty2> *ptr, pair<Uy1, Uy2>&& right);
Parameter
ptr
Ein Zeiger auf die Speicheradresse, in der das Objekt erstellt werden soll.args
Eine Liste der Argumente.first
Ein Objekt vom ersten geben ein Paar ein.second
Ein Objekt des zweiten geben ein Paar ein.right
Ein vorhandenes verschoben werden kann oder Objekt kopiert wurde.
Hinweise
Die erste Methode erstellt das Objekt bei ptr, indem sie Outermost_traits::construct(OUTERMOST(*this), ptr, xargs...) aufruft, in dem xargs... einen der folgenden ist.
Wenn uses_allocator<Ty, inner_allocator_type> false enthält, ist xargs...args...
Wenn uses_allocator<Ty, inner_allocator_type> Grifftrue und is_constructible<Ty, allocator_arg_t, inner_allocator_type, args...> Grifftrue, dann xargs...allocator_arg, inner_allocator(), args... ist.
Wenn uses_allocator<Ty, inner_allocator_type> Grifftrue und is_constructible<Ty, args..., inner_allocator()> Grifftrue, dann xargs...args..., inner_allocator() ist.
Die zweite Methode erstellt die beiden Objekt bei ptr, indem sie Outermost_traits::construct(OUTERMOST(*this), &ptr->first, xargs...), in dem xargs...first... ist, das wie in der obigen Liste geändert wird, und Outermost_traits::construct(OUTERMOST(*this), &ptr->second, xargs...) aufruft, in dem xargs...second... ist, das wie in der obigen Liste ändert.
Die dritte Methode verhält sich genauso wie this->construct(ptr, piecewise_construct, tuple<>, tuple<>).
Die vierte Methode verhält sich genauso wie this->construct(ptr, piecewise_construct, forward_as_tuple(std::forward<Uy1>(first), forward_as_tuple(std::forward<Uy2>(second)).
Die fünfte Methode verhält sich genauso wie this->construct(ptr, piecewise_construct, forward_as_tuple(right.first), forward_as_tuple(right.second)).
6. Die Methode verhält sich genauso wie this->construct(ptr, piecewise_construct, forward_as_tuple(std::forward<Uy1>(right.first), forward_as_tuple(std::forward<Uy2>(right.second)).
Anforderungen
Header: <scoped_allocator>
Namespace: std