[Dune] [#453] Dune::BlockBitField is not a replacement for std::vector<Dune::BitField>

Dune dune at dune-project.org
Thu Nov 6 11:03:12 CET 2008


The following task has a new comment added:

FS#453 - Dune::BlockBitField is not a replacement for std::vector<Dune::BitField>
User who did this - Carsten Gräser (Carsten)

BlockBitField is not intendet to act as vector<BitField>. Its purpose is to do something like vector<BitSet>. operator[] returns a temp object of a FIXED size. Thus there is no need to behave like a BitField. The idea is that BlockBitField<1> behaves similar to BitField and not that BlockBitField<k> behaves similar to vector<BitField> since vector<BitField> is a dirty hack. E.g. the order of local and global indices is reversed and it uses memory very inefficiently.

Furthermore BlockBitField derives private from vector<bool> to hide the iterators. Oliver and I decided not to implement the container interface it is simply not possible (see BitField and vector<bool>) while beeing memory efficient. If you want the container interface at the price of memory consuption you can use vector<char> or vector<BitSet>.

More information can be found at the following URL:

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.

More information about the Dune mailing list