Método scoped_allocator_adaptor::construct
Constrói um objeto.
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);
Parâmetros
ptr
Um ponteiro para o local de memória no objeto deve ser criado.args
Uma lista de argumentos.first
Um objeto do primeiro em um par.second
Um objeto do segundo em um par.right
Um objeto existente a ser movido ou copiado.
Comentários
O primeiro método constrói o objeto em ptr chamando Outermost_traits::construct(OUTERMOST(*this), ptr, xargs...), onde é xargs... um destes valores.
Se uses_allocator<Ty, inner_allocator_type> mantém false, então xargs... é args...
Se uses_allocator<Ty, inner_allocator_type> se aplica, e as propriedades de is_constructible<Ty, allocator_arg_t, inner_allocator_type, args...> verdadeiras, então xargs... é allocator_arg, inner_allocator(), args...
Se uses_allocator<Ty, inner_allocator_type> se aplica, e as propriedades de is_constructible<Ty, args..., inner_allocator()> verdadeiras, então xargs... é args..., inner_allocator().
O segundo método constrói os pares objetos em ptr chamando Outermost_traits::construct(OUTERMOST(*this), &ptr->first, xargs...), onde xargs... é first... modificado como a lista anterior, e Outermost_traits::construct(OUTERMOST(*this), &ptr->second, xargs...), onde xargs... é alterado second... como na lista acima.
O terceiro método comporta-se igual a this->construct(ptr, piecewise_construct, tuple<>, tuple<>).
O quarto método comporta-se igual ao this->construct(ptr, piecewise_construct, forward_as_tuple(std::forward<Uy1>(first), forward_as_tuple(std::forward<Uy2>(second)).
O quinto método comporta-se igual a this->construct(ptr, piecewise_construct, forward_as_tuple(right.first), forward_as_tuple(right.second)).
O sexto método comporta-se igual ao this->construct(ptr, piecewise_construct, forward_as_tuple(std::forward<Uy1>(right.first), forward_as_tuple(std::forward<Uy2>(right.second)).
Requisitos
scoped_allocator <deCabeçalho: >
Namespace: std