10-Jan-2013 01:47, Era Scarecrow пишет:
On Wednesday, 9 January 2013 at 21:16:37 UTC, Era Scarecrow wrote:
 Hmm as I'm thinking about it more, a mixin for BitString may be better..


Overall direction is good (I mean separation of ranges/containers). I'll post more comments once I think it through.The minor detail is that BitString sounds like a individual container whereas it's a "binary view of packed bools".

  I'm having troubles trying to understand why this won't work. Anyone
clarify?



mixin template BitString()
{
     struct BitString {
         size_t opIndex(int i) {
//Error: this for bulkRaw needs to be type BitArray not type BitString
             return bulkRaw[i];
         }
     }
}

You want to mixin a definition of a inner struct BitString into each bit array?
Or include all of functions of BitString to be mixed into BitArray?

If the latter then:

 mixin template BitString()
 {
      size_t opIndex(int i) {
              return bulkRaw[i];
          }
//....
 }

i.e. no struct it's just a template.

struct BitArray {
     mixin BitString;
     size_t[] bulkRaw;
     BitString ba;
}



--
Dmitry Olshansky

Reply via email to