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