Title
Undescribed assign function of std::array
Status
cd1
Section
[array]
Submitter
Daniel Krügler

Created on 2008-01-20.00:00:00 last changed 171 months ago

Messages

Date: 2010-10-21.18:28:33

Proposed resolution:

Just after the section [array.data] add the following new section:

23.2.1.5 array::fill [array.fill]

void fill(const T& u);

1: Effects: fill_n(begin(), N, u)

[N.B: I wonder, why class array does not have a "modifiers" section. If it had, then assign would naturally belong to it]

Change the synopsis in [array]/3:

template <class T, size_t N>
struct array { 
  ...
  void assign fill(const T& u);
  ...
Date: 2011-04-27.21:19:46

The class template array synopsis in [array] p. 3 declares a member function

void assign(const T& u);

which's semantic is no-where described. Since this signature is not part of the container requirements, such a semantic cannot be derived by those.

I found only one reference to this function in the issue list, 588 where the question is raised:

what's the effect of calling assign(T&) on a zero-sized array?

which does not answer the basic question of this issue.

If this function shall be part of the std::array, it's probable semantic should correspond to that of boost::array, but of course such wording must be added.

History
Date User Action Args
2010-10-21 18:28:33adminsetmessages: + msg3737
2008-01-20 00:00:00admincreate