STD Container Constructors
STD container constructors look very similar. For a given container Container
, the following constructors are expected to be provided:
Container(); template< class InputIt > Container( InputIt first, InputIt last, const Allocator& alloc = Allocator() ); template< class InputIt > Container( InputIt first, InputIt last, const Allocator& alloc ) : Container(first, last, alloc) {} Container( const Container& other ); Container( const Container& other, const Allocator& alloc ); Container( Container&& other ); Container( Container&& other, const Allocator& alloc ); Container( std::initializer_list<value_type> init, const Allocator& alloc = Allocator() ); Container( std::initializer_list<value_type> init, const Allocator& alloc ) : Container(init, alloc) {} template< container-compatible-range<value_type> R > Container( std::from_range_t, R&& rg, const Allocator& alloc = Allocator() ); template< container-compatible-range<value_type> R > Container( std::from_range_t, R&& rg, const Allocator& alloc ) : Container(std::from_range, std::forward<R>(rg), alloc) {}