#ifndef MRMC_EXCEPTIONS_INVALID_ARGUMENT_H_ #define MRMC_EXCEPTIONS_INVALID_ARGUMENT_H_ #include namespace mrmc { namespace exceptions { //!This exception is thrown when a parameter is invalid in this context class invalid_argument : public std::exception { public: /* The Visual C++-Version of the exception class has constructors accepting * a char*-constant; The GCC version does not have these * * As the "extended" constructor is used in the sparse matrix code, a dummy * constructor is used under linux (which will ignore the parameter) */ #ifdef _WIN32 invalid_argument() : exception("::mrmc::invalid_argument"){} invalid_argument(const char * const s): exception(s) {} #else invalid_argument() : exception() {} invalid_argument(const char * const s): exception() {} #endif virtual const char* what() const throw() { return "mrmc::invalid_argument"; } }; } // namespace exceptions } // namespace mrmc #endif // MRMC_EXCEPTIONS_INVALID_ARGUMENT_H_