Add missing typedefs to std::vector + typedef corrections

Tests for std::vector of pointers added which check
 std::vector<T*>::const_reference and std::vector<T*>::reference
usage which gave compilation errors in Python and Perl which had
specialized these vectors incorrectly.
This commit is contained in:
William S Fulton 2019-02-13 00:04:26 +00:00
commit e26f6bb4e2
18 changed files with 182 additions and 17 deletions

View file

@ -64,8 +64,8 @@ namespace std {
typedef _Tp value_type;
typedef value_type* pointer;
typedef const value_type* const_pointer;
typedef _Tp& reference;
typedef const _Tp& const_reference;
typedef value_type& reference;
typedef const value_type& const_reference;
typedef _Alloc allocator_type;
%traits_swigtype(_Tp);
@ -101,13 +101,13 @@ namespace std {
template<class _Tp, class _Alloc >
class vector< _Tp*, _Alloc > {
public:
typedef size_t size_type;
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef _Tp* value_type;
typedef value_type* pointer;
typedef const value_type* const_pointer;
typedef value_type reference;
typedef value_type const_reference;
typedef value_type& reference;
typedef const value_type& const_reference;
typedef _Alloc allocator_type;
%traits_swigtype(_Tp);
@ -141,13 +141,13 @@ namespace std {
template<class _Tp, class _Alloc >
class vector< _Tp const *, _Alloc > {
public:
typedef size_t size_type;
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef _Tp const * value_type;
typedef value_type* pointer;
typedef const value_type* const_pointer;
typedef value_type reference;
typedef value_type const_reference;
typedef value_type& reference;
typedef const value_type& const_reference;
typedef _Alloc allocator_type;
%traits_swigtype(_Tp);
@ -182,13 +182,13 @@ namespace std {
template<class _Alloc >
class vector<bool,_Alloc > {
public:
typedef size_t size_type;
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef bool value_type;
typedef value_type* pointer;
typedef const value_type* const_pointer;
typedef value_type reference;
typedef value_type const_reference;
typedef value_type& reference;
typedef bool const_reference;
typedef _Alloc allocator_type;
%traits_swigtype(bool);