
I took a quick look, looks pretty neat ;) I like it ;) Best, John
Hello all
I have my own C++ framework (http://cbear.berlios.de, SVN: http://tools.assembla.com/svn/cbear/trunk/) which has some useful (IMHO) libraries. One of this library is "cast" library (http://tools.assembla.com/cbear/browser/trunk/cbear.berlios.de/cast) which allows you to convert objects without specifying a type:
char c; int i; ... // if(c == static_cast<char>(i)) if(c == cast::static_::value(i)) { ... }
It is useful when you want to convert an object to a type of another object. And this is also more safe, compare to standard casting, for example in previous code someone can change the type of c to wchar_t, and if you use static_cast, the compiler will not even warn you about incorrect casting. So, you have to manually check all the code.
Currently there are several castings: static, reinterpret, const, dynamic, polymorphic (based on Boost.polymorphic_cast), polymorphic_down (based on Boost.polymorphic_downcast), explicit (calls an explicit constructor), safe_reinterpret (compare sizes of converting types), default (returns an object created by default constructor).
Thank you.
Best regards, Sergey Shandar. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- http://John.Torjo.com -- C++ expert ... call me only if you want things done right