Pavel Syomin wrote:
Hello!
I don't sure, that I choose right mail list for my ofer... So, don't beat me much... :) I often use such macro for testing function parameters:
#define THROW_INVALID_ARGUMENT_IF_FAIL(expression) \ do { \ using std::invalid_argument; \ using std::string; \ \ if(!(expression)) \ throw invalid_argument(string(BOOST_CURRENT_FUNCTION) + \ " : Assertion '" #expression "' failed"); \ } while(false)
I think, that this macro is very useful and can be part of
.
see Andrei Alexandrescu and Petru Marginean's article 'Enforcements' http://www.ddj.com/dept/cpp/184403864