Namespaces
Variants
Views
Actions

std::dynarray::dynarray

From cppreference.com
< cpp‎ | container‎ | dynarray
Revision as of 14:09, 10 November 2013 by 184.160.123.149 (Talk)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
explicit dynarray( size_type count );
(1) (since C++14)
template< class Alloc >
dynarray( size_type count, const Alloc& alloc );
(2) (since C++14)
dynarray( size_type count, const T& value );
(3) (since C++14)
template< class Alloc >
dynarray( size_type count, const T& value, const Alloc& alloc );
(4) (since C++14)
dynarray( const dynarray& other );
(5) (since C++14)
template< class Alloc >
dynarray( const dynarray& other, const Alloc& alloc );
(6) (since C++14)
dynarray( std::initializer_list<T> init );
(7) (since C++14)
template< class Alloc >
dynarray( std::initializer_list<T> init, const Alloc& alloc );
(8) (since C++14)

Constructs a new container from a variety of data sources, optionally using user supplied allocator alloc. If an allocator is provided, all memory allocations are done though it. Otherwise, the memory is allocated from an unspecified source, which may, or may not, invoke the global operator new. This way, additional optimization opportunities are possible, for example, using stack-based allocation.

1-2) Constructs the container with count default-initialized (or constructed by specified allocator) instances of T. No copies are made.
3-4) Constructs the container with count copies of elements with value value. T must meet the requirements of CopyConstructible.
5-6) Copy-constructor. Constructs the container with the copy of the contents of other. T must meet the requirements of CopyConstructible.
7-8) Constructs the container with the contents of the initializer list init.

Contents

[edit] Parameters

alloc - allocator to use for the memory allocations of this container
count - the size of the container
value - the value to initialize elements of the container with
other - another container to be used as source to initialize the elements of the container with
init - initializer list to initialize the elements of the container with
Type requirements
-
Alloc must meet the requirements of Allocator.

[edit] Complexity

1-4) Linear in count
5-6) Linear in other.size()
7-8) Linear in size of init

[edit] Exceptions

1-4) std::bad_alloc if there's insufficient memory. std::bad_array_length if count is above the implementation-defined limits.
5-8) std::bad_alloc if there's insufficient memory.

[edit] Example