How do we manipulate strings at compile time when using static ifs?


static if (std.string.indexOf(S, ")") < -1)
   ...
else
   ...

This always returns false regardless if S contains a 7 or not.


from http://dpaste.dzfl.pl/64025e0a

mixin(StructNestType!("B", "b1"));

but I would like to modify so that I can do this

_Offset

as at the moment StructNestType2 doesn't handle struct's with more than 1 type parameter. I simply need to parse the string and determine if it contains type arguments.


e.g.,

struct B(T1,T2, int offset) { ... }
mixin(StructNestType!("B!(T1,T2)", "b1")); // (hide offset in string, not needed explicitly)


but I also need the code to work with

struct B(int offset) { ... }
mixin(StructNestType!("B", "b1"));

So I need to compare and replace the string to make it fit into StructNestType2. (as of right now I'm assuming only one argument, the ofs)

I thought CTFE would work with indexOf but I guess it won't?

Essentially I need to form B!(T1,T2, _my offset value_) and/or B!(_my offset value_) from the two cases above at compile time.





Reply via email to