scoped_allocator_adaptor::construct – metoda
Vytvoří 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);
Parametry
ptr
Ukazatel na umístění v paměti, kde má být objekt.args
Seznam argumentů.first
Objekt typu první dvojice.second
Objekt typu druhé dvojice.right
Existující objekt, který chcete přesunout nebo zkopírovat.
Poznámky
První metoda konstrukce objektu na ptr voláním Outermost_traits::construct(OUTERMOST(*this), ptr, xargs...), kde xargs... je jedním z následujících.
If uses_allocator<Ty, inner_allocator_type> holds false, then xargs... is args....
If uses_allocator<Ty, inner_allocator_type> holds true, and is_constructible<Ty, allocator_arg_t, inner_allocator_type, args...> holds true, then xargs... is allocator_arg, inner_allocator(), args....
If uses_allocator<Ty, inner_allocator_type> holds true, and is_constructible<Ty, args..., inner_allocator()> holds true, then xargs... is args..., inner_allocator().
Druhá metoda vytvoří objekt dvojice na ptr voláním Outermost_traits::construct(OUTERMOST(*this), &ptr->first, xargs...), kde xargs... je first... upravena podle výše uvedeného seznamu a Outermost_traits::construct(OUTERMOST(*this), &ptr->second, xargs...), kde xargs... je second... upravena podle výše uvedeného seznamu.
Třetí metoda chová stejně jako this->construct(ptr, piecewise_construct, tuple<>, tuple<>).
Čtvrtý metoda chová stejně jako this->construct(ptr, piecewise_construct, forward_as_tuple(std::forward<Uy1>(first), forward_as_tuple(std::forward<Uy2>(second)).
Pátý metoda chová stejně jako this->construct(ptr, piecewise_construct, forward_as_tuple(right.first), forward_as_tuple(right.second)).
Metoda šestého chová stejně jako this->construct(ptr, piecewise_construct, forward_as_tuple(std::forward<Uy1>(right.first), forward_as_tuple(std::forward<Uy2>(right.second)).
Požadavky
Záhlaví: <scoped_allocator>
Obor názvů: std