On Thursday, 20 February 2020 at 17:41:54 UTC, Dennis wrote:
On Tuesday, 18 February 2020 at 17:11:55 UTC, Marcel wrote:
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?
The best I can think of is:
```
mixin template maybeStatic() {
void foo() {
// implementation
}
}
struct S(bool condition) {
static if (condition) {
static {
mixin maybeStatic;
}
} else {
mixin maybeStatic;
}
}
```
What do you need this for? It seems like an unusual situation
to me.
That will do, thank you!
I'm making an allocator library similar to what Andrei
Alexandrescu presented at CppCon. Since some allocators may not
have state, those that inherit* from them may need to have every
member function marked as static.
*I'm using mixins instead of inheritance.