
On 8/10/06, John Maddock <john@johnmaddock.co.uk> wrote:
Matias Capeletto wrote:
There are actually two relation classes: "mutant_relation", that uses this almost-standard guarantee when possible and "standard_relation" that is standard compliant. You can read more about this here: http://cablemodem.fibertel.com.ar/mcape/boost/libs/bimap/boost_bimap/rationa...
The idea is to switch between this two classes at compile time using a conservative approach, so the library can get the standard compliant label. You can see the switching mechanism here: http://cablemodem.fibertel.com.ar/mcape/boost/libs/bimap/doxydoc/relation_8h...
At this point it is very conservative, and I think it is downgrading to the slower relation in cases where this can be avoided (for example, if you do not have 1 byte alignment). Less conservative checks can be developed in the future.
Looks like you're way ahead of me.
:)
BTW almost no compilers use 1 byte alignment.
Yes, I know. I have to find checks like the one for MSVC... I hope that people that knows a compiler very well will collaborate the most edgy check for each supported compiler. Thank you very much for the interest in this library John. It means a lot. :) Regards Matias