On 7/3/19 3:36 PM, Emil Dotchevski via Boost wrote:
On Tue, Jul 2, 2019 at 7:19 PM Nevin Liber via Boost
wrote: On Thu, Jun 27, 2019 at 7:41 PM Robert Ramey via Boost < boost@lists.boost.org> wrote:
Here you've exactly hit on the motivation for mother of all variants.
It should be clear by now that as library developers we cannot correctly anticipate the needs and desires of our potential users and at the same time document the rational and restrictions of the particular variant in question.
That is true about every type in existence. Variant is not special in
this
regard.
And if "we cannot correctly anticipate the needs and desires of our potential users", policies also "cannot correctly anticipate the needs and desires of our potential users" either. Policies do not solve this problem.
+1
Worse, policy-based designs are the result of the expert in the problem domain (the library author), unable to make up his mind about the library design, pushing that responsibility to people who are less knowledgeable (the library users).
I wouldn't put it that far. A policy can be useful when there are legitimate use cases for multiple behaviors in some aspect for the otherwise same component.