On Tuesday, 5 June 2012 at 00:17:08 UTC, bearophile wrote:
Era Scarecrow:
The documentation for bitfields doesn't go into detail if you can put any default values into it. Can you?

I think you can't. See:
http://d.puremagic.com/issues/show_bug.cgi?id=4425

Bye,
bearophile

K, I think I have a fix for this done. Now if I bother to get GitHub to work with me at all...

Here's a sample, thoughts of naming or other changes before I try and add this back in? (I'm not the best with naming things)


//T is a array of strings of name=value.
//returns a replacement string from bitfields with the defaults in place
string bitfields_D(string bitf, T...)();


struct defs {
  mixin(bitfields_D!(
    bitfields!( //borrowed from std.bitmanip
      bool, "b", 1,
      uint, "i", 3,
      short, "s", 4),
    "i=2",
    "s=5"));
}

defs s;

assert(!s.b);
assert(s.i == 2);
assert(s.s == 5);

Reply via email to