Re: N2691 Inconsistencies in construct_element requirements
Bo Persson ha scritto:
Alberto Ganesh Barbati wrote:
In the latest draft,
constructible_with_allocator_(prefix|suffix) are still traits, as
it's clearly stated in 20.7/1:
// 20.7.2, allocator-related traits
template <class T, class Alloc> struct uses_allocator;
template <class Alloc> struct is_scoped_allocator;
template <class T> struct constructible_with_allocator_suffix;
template <class T> struct constructible_with_allocator_prefix;
But
constructible_with_allocator_prefix<T, A::inner_allocator_type,
Args...>
can't easily be a specialization of that trait, as it has way too many
template parameters.
I does match a message map from the alternate proposal, but it is
still said to possibly be derived from true_type. Just doesn't make
sense!
I agree, it doesn't make sense.
But, yes, they will soon be replaced by concept maps as part of the
ongoing conceptualization effort of the standard library. Any
inconsistency will hopefully be resolved by that effort. We are
aware that the recent draft voted in Sophia is "work in progress"
with respect to concepts in the library, but it was important to
have all library components in the draft to reflect the current
state of evolution before starting conceptualizing everything.
For this specific issue, see also paper N2654
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2654.pdf
Ok, so one proposal is voted into the draft, just to possibly be voted
out again at the next meeting? Very interesting.
Not exactly. We are not going to vote the proposal out, we are going to
replace it with an evolution of the same proposal. It's in the draft
because it has been accepted in principle, only the form needs to be
revised. Moreover, being in the draft allows everyone to read it and
make comments about it, which can be useful during the conceptualization
process.
Ganesh
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]