|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2005-06-30 07:33:56
Tobias Schwinger <tschwinger_at_[hidden]> writes:
> I don't believe it's metaprogramming specific -- let's clear up the logic, first:
>
>> it is unclear to me whether
>> the common case is "ignoring an aspect" or if it is really "allowing a
>> match for any variation of an aspect"
>
> Given a variable 'a' which can be either '1', '2' or '3' it doesn't make a difference:
>
> if ((a == 1) || (a == 2) || (a == 3)) // match any variation of a
> {
> // do something
> }
>
> is logically equivalent to
>
> // no if -- just ignore a
> {
> // do something
> }
>
>> which I can do by "ignoring an
>> aspect."
>>
>
> Equivalence is commutative:
>
> You can ignore 'a' by allowing any variation and you can allow any variation by
> ignoring 'a' -- no difference, again.
>
> Making any difference would be talking about implementation details in a parapraph
> about plain logic.
Isn't this a complicated way of saying something simple? Is it
important or useful to point out that doing "something"
unconditionally is a special case of doing "something" only for
certain values of "a?"
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk