00001 /* 00002 * NotImplemented.h 00003 * ers 00004 * 00005 * Created by Matthias Wiesmann on 08.12.04. 00006 * Copyright 2004 CERN. All rights reserved. 00007 * 00008 */ 00009 00010 #ifndef ERS_NOT_IMPLEMENTED 00011 00012 #include "ers/Assertion.h" 00013 00014 namespace ers { 00015 00023 class NotImplemented : public Assertion { 00024 00025 protected: 00026 virtual std::string build_message(const char* condition_text, const std::string &message, bool constant_expression = false) throw() ; 00027 public: 00028 static const char* const CLASS_NAME ; 00029 NotImplemented(); 00030 NotImplemented(const Context &context, severity_t s) ; 00031 virtual const char*get_class_name() const throw(); 00032 } ; // Precondition 00033 } // ers 00034 00035 #define ERS_NOT_IMPLEMENTED() throw ers::NotImplemented(ERS_HERE,ers::error) 00036 #define ERS_NOT_IMPLEMENTED_FATAL() throw ers::NotImplemented(ERS_HERE,ers::ers_fatal) 00037 00038 #endif 00039