Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

rsdef.h

Go to the documentation of this file.
00001 
00002 //
00003 // Copyright (C) 2000
00004 // Ralf Westram
00005 // Time-stamp: <Wed Nov/13/2002 05:54 MET Coder@ReallySoft.de>
00006 //
00007 // Permission to use, copy, modify, distribute and sell this software
00008 // and its documentation for any purpose is hereby granted without fee,
00009 // provided that the above copyright notice appear in all copies and
00010 // that both that copyright notice and this permission notice appear
00011 // in supporting documentation.  Ralf Westram makes no
00012 // representations about the suitability of this software for any
00013 // purpose.  It is provided "as is" without express or implied warranty.
00014 //
00015 // This code is part of my library.
00016 // You may find a more recent version at http://www.reallysoft.de/
00017 //
00019 
00020 #ifndef RSDEF_H
00021 #define RSDEF_H
00022 
00023 #ifndef __STRING__
00024 #include <string>
00025 #endif
00026 #ifndef __IOSTREAM__
00027 #include <iostream>
00028 #endif
00029 #ifndef __CSTDARG__
00030 #include <cstdarg>
00031 #endif
00032 #ifndef __CCTYPE__
00033 #include <cctype>
00034 #endif
00035 
00036 // --------------------------------------------------------------------------------
00037 
00038 namespace rs {
00039 
00044     std::string COPYRIGHT_BY();
00045 
00062     std::string MAIL_CONTACT(const std::string& progname);
00063 };
00064 
00065 // --------------------------------------------------------------------------------
00066 
00067 #if defined(DEBUG)
00068 # define DUMP
00069 #endif // DEBUG
00070 
00071 #if !defined(FINAL_VERSION)
00072 # define DUMP_FUNC
00073 #endif
00074 
00076 #define DECLARE_STREAM_OP(typ) friend inline std::ostream& operator<<(std::ostream& out, const typ &me) { me.dump(out); return out; }
00077 
00079 #define DUMP_LINE() cerr << __FILE__ << ' ' << __LINE__ << endl
00080 
00081 namespace rs {
00083     namespace internal {
00084         inline void use(const void*) {}
00085     };
00087 };
00088 
00090 #define USE(x) do { rs::internal::use((const void*)&(x)); } while(0)
00091 
00092 // --------------------------------------------------------------------------------
00093 
00097 namespace rs {
00099     std::string assertionText(const char *bed, const char *file, int line);
00100 };
00101 
00102 // --------------------------------------------------------------------------------
00103 
00104 #else
00105 #error rsdef.h included twice
00106 #endif // RSDEF_H

Contact me in case of errors or questions.
This documentation is powered by Doxygen.
(C) 2000-2002 Doxygen