diff options
author | Paolo Carlini <pcarlini@suse.de> | 2004-03-12 23:32:03 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2004-03-12 23:32:03 +0000 |
commit | d4cd08dda5f66955b84700ce89bbe2a5e29426f2 (patch) | |
tree | 428580660e92eb5b7a56fe1c1cf18369dedfa1bf | |
parent | c973d557baa81d9f9d55f1107f94d3904ba4ba6b (diff) | |
download | gcc-d4cd08dda5f66955b84700ce89bbe2a5e29426f2.zip gcc-d4cd08dda5f66955b84700ce89bbe2a5e29426f2.tar.gz gcc-d4cd08dda5f66955b84700ce89bbe2a5e29426f2.tar.bz2 |
howto.html: Add entry for DR 253 [Ready].
2004-03-12 Paolo Carlini <pcarlini@suse.de>
* docs/html/ext/howto.html: Add entry for DR 253 [Ready].
* include/bits/gslice_array.h: Add comment about DR 253.
* include/bits/indirect_array.h: Likewise.
* include/bits/mask_array.h: Likewise.
* include/bits/slice_array.h: Likewise.
From-SVN: r79412
-rw-r--r-- | libstdc++-v3/ChangeLog | 8 | ||||
-rw-r--r-- | libstdc++-v3/docs/html/ext/howto.html | 8 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/gslice_array.h | 9 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/indirect_array.h | 9 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/mask_array.h | 9 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/slice_array.h | 11 |
6 files changed, 37 insertions, 17 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6f53566..5e93b5e 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2004-03-12 Paolo Carlini <pcarlini@suse.de> + + * docs/html/ext/howto.html: Add entry for DR 253 [Ready]. + * include/bits/gslice_array.h: Add comment about DR 253. + * include/bits/indirect_array.h: Likewise. + * include/bits/mask_array.h: Likewise. + * include/bits/slice_array.h: Likewise. + 2004-03-12 Benjamin Kosnik <bkoz@redhat.com> * testsuite/20_util/allocator/14176.cc: New. diff --git a/libstdc++-v3/docs/html/ext/howto.html b/libstdc++-v3/docs/html/ext/howto.html index 682b34e..f17c617 100644 --- a/libstdc++-v3/docs/html/ext/howto.html +++ b/libstdc++-v3/docs/html/ext/howto.html @@ -412,6 +412,14 @@ <dd>This nested typdef was originally not specified. </dd> + <dt><a href="lwg-active.html#253">253</a>: + <em>valarray helper functions are almost entirely useless</em> + </dt> + <dd>Make the copy constructor and copy-assignment operator declarations + public in gslice_array, indirect_array, mask_array, slice_array; provide + definitions. + </dd> + <dt><a href="lwg-defects.html#265">265</a>: <em>std::pair::pair() effects overly restrictive</em> </dt> diff --git a/libstdc++-v3/include/bits/gslice_array.h b/libstdc++-v3/include/bits/gslice_array.h index e50a74d..7e2e684 100644 --- a/libstdc++-v3/include/bits/gslice_array.h +++ b/libstdc++-v3/include/bits/gslice_array.h @@ -61,11 +61,12 @@ namespace std { public: typedef _Tp value_type; - // this constructor needs to be implemented. + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 253. valarray helper functions are almost entirely useless + /// Copy constructor. Both slices refer to the same underlying array. gslice_array(const gslice_array&); - // This operator must be public. See DR-253. /// Assignment operator. Assigns slice elements to corresponding /// elements of @a a. gslice_array& operator=(const gslice_array&); @@ -134,13 +135,13 @@ namespace std { inline gslice_array<_Tp>::gslice_array(_Array<_Tp> __a, const valarray<size_t>& __i) - : _M_array(__a), _M_index(__i) {} + : _M_array(__a), _M_index(__i) {} template<typename _Tp> inline gslice_array<_Tp>::gslice_array(const gslice_array<_Tp>& __a) - : _M_array(__a._M_array), _M_index(__a._M_index) {} + : _M_array(__a._M_array), _M_index(__a._M_index) {} template<typename _Tp> diff --git a/libstdc++-v3/include/bits/indirect_array.h b/libstdc++-v3/include/bits/indirect_array.h index 1f4a713..912f522 100644 --- a/libstdc++-v3/include/bits/indirect_array.h +++ b/libstdc++-v3/include/bits/indirect_array.h @@ -63,11 +63,12 @@ namespace std public: typedef _Tp value_type; - // this constructor needs to be implemented. + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 253. valarray helper functions are almost entirely useless + /// Copy constructor. Both slices refer to the same underlying array. indirect_array(const indirect_array&); - // XXX: This is a proposed resolution for DR-253. /// Assignment operator. Assigns elements to corresponding elements /// of @a a. indirect_array& operator=(const indirect_array&); @@ -139,13 +140,13 @@ namespace std template<typename _Tp> inline indirect_array<_Tp>::indirect_array(const indirect_array<_Tp>& __a) - : _M_sz(__a._M_sz), _M_index(__a._M_index), _M_array(__a._M_array) {} + : _M_sz(__a._M_sz), _M_index(__a._M_index), _M_array(__a._M_array) {} template<typename _Tp> inline indirect_array<_Tp>::indirect_array(_Array<_Tp> __a, size_t __s, _Array<size_t> __i) - : _M_sz(__s), _M_index(__i), _M_array(__a) {} + : _M_sz(__s), _M_index(__i), _M_array(__a) {} template<typename _Tp> inline indirect_array<_Tp>& diff --git a/libstdc++-v3/include/bits/mask_array.h b/libstdc++-v3/include/bits/mask_array.h index 4faa5d7..1a694f3 100644 --- a/libstdc++-v3/include/bits/mask_array.h +++ b/libstdc++-v3/include/bits/mask_array.h @@ -63,11 +63,12 @@ namespace std { public: typedef _Tp value_type; - // this constructor needs to be implemented. + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 253. valarray helper functions are almost entirely useless + /// Copy constructor. Both slices refer to the same underlying array. mask_array (const mask_array&); - // This operator must be public. See DR-253. /// Assignment operator. Assigns elements to corresponding elements /// of @a a. mask_array& operator=(const mask_array&); @@ -136,12 +137,12 @@ namespace std { template<typename _Tp> inline mask_array<_Tp>::mask_array(const mask_array<_Tp>& a) - : _M_sz(a._M_sz), _M_mask(a._M_mask), _M_array(a._M_array) {} + : _M_sz(a._M_sz), _M_mask(a._M_mask), _M_array(a._M_array) {} template<typename _Tp> inline mask_array<_Tp>::mask_array(_Array<_Tp> __a, size_t __s, _Array<bool> __m) - : _M_sz(__s), _M_mask(__m), _M_array(__a) {} + : _M_sz(__s), _M_mask(__m), _M_array(__a) {} template<typename _Tp> inline mask_array<_Tp>& diff --git a/libstdc++-v3/include/bits/slice_array.h b/libstdc++-v3/include/bits/slice_array.h index 571296d..31c89bc 100644 --- a/libstdc++-v3/include/bits/slice_array.h +++ b/libstdc++-v3/include/bits/slice_array.h @@ -123,11 +123,12 @@ namespace std public: typedef _Tp value_type; - // This constructor is implemented since we need to return a value. + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 253. valarray helper functions are almost entirely useless + /// Copy constructor. Both slices refer to the same underlying array. slice_array(const slice_array&); - // This operator must be public. See DR-253. /// Assignment operator. Assigns slice elements to corresponding /// elements of @a a. slice_array& operator=(const slice_array&); @@ -196,13 +197,13 @@ namespace std template<typename _Tp> inline slice_array<_Tp>::slice_array(_Array<_Tp> __a, const slice& __s) - : _M_sz(__s.size()), _M_stride(__s.stride()), - _M_array(__a.begin() + __s.start()) {} + : _M_sz(__s.size()), _M_stride(__s.stride()), + _M_array(__a.begin() + __s.start()) {} template<typename _Tp> inline slice_array<_Tp>::slice_array(const slice_array<_Tp>& a) - : _M_sz(a._M_sz), _M_stride(a._M_stride), _M_array(a._M_array) {} + : _M_sz(a._M_sz), _M_stride(a._M_stride), _M_array(a._M_array) {} // template<typename _Tp> // inline slice_array<_Tp>::~slice_array () {} |