Conditional Attributes
Marcel
marcelpi97 at gmail.com
Fri Feb 21 16:24:57 UTC 2020
On Friday, 21 February 2020 at 01:41:21 UTC, Steven Schveighoffer
wrote:
> On 2/18/20 12:11 PM, Marcel wrote:
>> Hello!
>>
>> Say I have a struct where every member function can either be
>> static or not depending on a template parameter. Is there a
>> simple way to do this? Like, for example:
>>
>> struct Foo(Condition)
>> {
>> static if (Condition) static:
>>
>> void Bar() {}
>> void Baz() {}
>>
>> }
>
> Since D conditional compilation must always be a valid
> declaration or statement, you cannot do something like this.
>
> The closest you can do is to use mixins, which means you have
> to write everything inside strings.
>
> It has been proposed quite a few times to have a way to
> enable/disable attributes based on a compile-time boolean. But
> it's never come close to getting included.
>
> -Steve
That's a shame...
More information about the Digitalmars-d-learn
mailing list