From 15d8d12da060c4aab95c8f00996a58b0f16c9742 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Wed, 11 Jul 2018 23:01:08 +0200 Subject: [PATCH] continue on tuning ptr_vector --- alib2std/src/extensions/ptr_vector.hpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/alib2std/src/extensions/ptr_vector.hpp b/alib2std/src/extensions/ptr_vector.hpp index d08a994c5e..409151bf00 100644 --- a/alib2std/src/extensions/ptr_vector.hpp +++ b/alib2std/src/extensions/ptr_vector.hpp @@ -34,7 +34,7 @@ public: using reference = value_type &; using const_reference = const value_type &; using pointer = T *; - using const_pointer = T * const; + using const_pointer = const T *; using iterator = dereferencing_iterator < typename std::vector < T * >::iterator >; using const_iterator = dereferencing_iterator < typename std::vector < T * >::const_iterator >; @@ -50,8 +50,9 @@ public: insert ( cbegin ( ), std::move ( init ) ); } + template < class R > explicit ptr_vector ( size_type count ) { - resize ( count ); + resize < R > ( count ); } template < class InputIt > @@ -294,9 +295,9 @@ public: insert ( cend ( ), std::forward < R > ( value ) ); } - template < class ... Args > + template < class R = T, class ... Args > reference emplace_back ( Args && ... args ) { - return * emplace ( cend ( ), std::forward < Args > ( args ) ... ); + return * emplace < R > ( cend ( ), std::forward < Args > ( args ) ... ); } void pop_back ( ) { -- GitLab