Metodo scoped_allocator_adaptor::construct
Costruisce un oggetto.
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);
Parametri
ptr
Un puntatore alla posizione di memoria in cui l'oggetto deve essere costruito.args
Un elenco di argomenti.first
Un oggetto del primo in una coppia.second
Un oggetto del secondo in una coppia.right
Un oggetto esistente da spostare o copiare.
Note
Il primo metodo crea l'oggetto a ptr chiamando Outermost_traits::construct(OUTERMOST(*this), ptr, xargs...), dove xargs... è uno dei seguenti valori.
Se uses_allocator<Ty, inner_allocator_type> contenuta false, quindi xargs... è args...
Se uses_allocator<Ty, inner_allocator_type> sostiene e mantenute di is_constructible<Ty, allocator_arg_t, inner_allocator_type, args...> true, il xargs... è allocator_arg, inner_allocator(), args...
Se uses_allocator<Ty, inner_allocator_type> sostiene e mantenute di is_constructible<Ty, args..., inner_allocator()> true, il xargs... è args..., inner_allocator().
Il secondo metodo crea l'oggetto della coppia a ptr chiamando Outermost_traits::construct(OUTERMOST(*this), &ptr->first, xargs...), dove xargs... è first... modificato come nell'elenco sopra e Outermost_traits::construct(OUTERMOST(*this), &ptr->second, xargs...), dove xargs... è second... modificato come nell'elenco sopra.
Il terzo metodo si comporti uguale a this->construct(ptr, piecewise_construct, tuple<>, tuple<>).
Il quarto metodo si comporti quello dell'this->construct(ptr, piecewise_construct, forward_as_tuple(std::forward<Uy1>(first), forward_as_tuple(std::forward<Uy2>(second)).
Il quinto metodo si comporti uguale a this->construct(ptr, piecewise_construct, forward_as_tuple(right.first), forward_as_tuple(right.second)).
Il sesto metodo si comporti quello dell'this->construct(ptr, piecewise_construct, forward_as_tuple(std::forward<Uy1>(right.first), forward_as_tuple(std::forward<Uy2>(right.second)).
Requisiti
scoped_allocator <diIntestazione: >
Spazio dei nomi: std