
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 06/05/2010 03:49 PM, Marius Stoica wrote:
[...] The only solution I see is the way I'm handling the nothrow_integer type already: wrap every top-level call in a try/catch construct. Unless someone can suggest some way to handle stack-unwinding without exceptions, doing it manually, or setjmp/longjmp, I don't see any viable way to change it.
What about having a pointer in the contained classes back to the upper one ? I think you can make it be there only for the no-exception classes by adding it to a no-exception policy class and inheriting it.
I'm not sure what that would accomplish. The problem isn't that the classes can't communicate, it's that there's no way (short of either exceptions or setjmp/longjmp) to short-circuit the flow of execution -- if we run into a problem in function H, then we have to send an error code back to function G, which has to check for it and send it back to function F, and so on, all the way to the point where the code knows what to do about it. That's a lot of redundant error-code checks. - -- Chad Nelson Oak Circle Software, Inc. * * * -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkwLAy0ACgkQp9x9jeZ9/wQL/ACg4qt19Jj4EkKTCfn69c9lLvgV N0sAn2bQNTgCzQek5lL0HX3nv2R/6vNu =b61p -----END PGP SIGNATURE-----