Subject: Re: [std-proposals] Make class template parameters available externally
From: Jake Arkinstall (jake.arkinstall_at_[hidden])
Date: 2019-10-30 17:15:14
On Wed, 30 Oct 2019, 22:04 Ville Voutilainen via Std-Proposals, <
> > First of all, it turns out that they are a crucial part of an interface
> and often or always are of interest to end-users. A quick survey of STL
> shows that all containers declare all their template parameters and make
> them available to users.
> My quick survey shows that none of them do, not with those names. And
> a library implementation of what is specified to
> template<class T, size_t N>
> struct array
> doesn't mention "T" or "N" anywhere in it.
Not literally. It takes in the type as an arbitrary name and then I'm
pretty sure most containers do then make that type accessible through a
reasonable name such as value_type, first_type/second_type, etc.
This seems to be starting a journey on the road where the benefit
is not worth the cost.
>From where I stand the cost is worth it. Fewer junk names, cleaner STL
code, I'm all for it.
I'd request that non-type template parameters (e.g. a size_t value) be
automatically added as constexpr static values too, for consistency.
STD-PROPOSALS list run by firstname.lastname@example.org
Standard Proposals Archives on Google Groups