|
00001 /* 00002 * File: recls_assert.h 00003 * 00004 * Purpose: Compiler discrimination for the recls API. 00005 * 00006 * Created: 15th August 2003 00007 * Updated: 20th March 2004 00008 * 00009 * License: (Licensed under the Synesis Software Standard Source License) 00010 * 00011 * Copyright (C) 2002-2004, Synesis Software Pty Ltd. 00012 * 00013 * All rights reserved. 00014 * 00015 * www: http://www.synesis.com.au/software 00016 * http://www.recls.org/ 00017 * 00018 * email: submissions@recls.org for submissions 00019 * admin@recls.org for other enquiries 00020 * 00021 * Redistribution and use in source and binary forms, with or 00022 * without modification, are permitted provided that the following 00023 * conditions are met: 00024 * 00025 * (i) Redistributions of source code must retain the above 00026 * copyright notice and contact information, this list of 00027 * conditions and the following disclaimer. 00028 * 00029 * (ii) Any derived versions of this software (howsoever modified) 00030 * remain the sole property of Synesis Software. 00031 * 00032 * (iii) Any derived versions of this software (howsoever modified) 00033 * remain subject to all these conditions. 00034 * 00035 * (iv) Neither the name of Synesis Software nor the names of any 00036 * subdivisions, employees or agents of Synesis Software, nor the 00037 * names of any other contributors to this software may be used to 00038 * endorse or promote products derived from this software without 00039 * specific prior written permission. 00040 * 00041 * This source code is provided by Synesis Software "as is" and any 00042 * warranties, whether expressed or implied, including, but not 00043 * limited to, the implied warranties of merchantability and 00044 * fitness for a particular purpose are disclaimed. In no event 00045 * shall the Synesis Software be liable for any direct, indirect, 00046 * incidental, special, exemplary, or consequential damages 00047 * (including, but not limited to, procurement of substitute goods 00048 * or services; loss of use, data, or profits; or business 00049 * interruption) however caused and on any theory of liability, 00050 * whether in contract, strict liability, or tort (including 00051 * negligence or otherwise) arising in any way out of the use of 00052 * this software, even if advised of the possibility of such 00053 * damage. 00054 * 00055 * 00056 00057 00058 #ifndef RECLS_INCL_H_RECLS_ASSERT 00059 #define RECLS_INCL_H_RECLS_ASSERT 00060 00061 /* File version */ 00062 #ifndef RECLS_DOCUMENTATION_SKIP_SECTION 00063 # define RECLS_VER_H_RECLS_ASSERT_MAJOR 1 00064 # define RECLS_VER_H_RECLS_ASSERT_MINOR 0 00065 # define RECLS_VER_H_RECLS_ASSERT_REVISION 8 00066 # define RECLS_VER_H_RECLS_ASSERT_EDIT 9 00067 #endif /* !RECLS_DOCUMENTATION_SKIP_SECTION */ 00068 00071 /* 00072 * Includes 00073 */ 00074 00075 #include "recls.h" 00076 00082 #if defined(RECLS_PLATFORM_IS_WIN32) && \ 00083 defined(_MSC_VER) 00084 # include <crtdbg.h> // Prefer MSVCRT for VC++ and compatible compilers 00085 # define recls_assert(x) _ASSERTE(x) 00086 #else 00087 # include <assert.h> 00088 # define recls_assert(x) assert(x) 00089 #endif /* compiler */ 00090 00091 /* 00092 * Macros 00093 */ 00094 00101 #if defined(__WATCOMC__) 00102 # define recls_message_assert(m, x) recls_assert(x) 00103 #else 00104 # define recls_message_assert(m, x) recls_assert((m, x)) 00105 #endif /* __WATCOMC__ */ 00106 00107 /* 00108 * Namespace 00109 */ 00110 00111 #if !defined(RECLS_NO_NAMESPACE) 00112 namespace recls 00113 { 00114 #endif /* !RECLS_NO_NAMESPACE */ 00115 00116 /* 00117 * Namespace 00118 */ 00119 00120 #if !defined(RECLS_NO_NAMESPACE) 00121 } /* namespace recls */ 00122 #endif /* !RECLS_NO_NAMESPACE */ 00123 00124 /* 00125 00126 #endif /* !RECLS_INCL_H_RECLS_ASSERT */ 00127 00128 /*
|
recls Library documentation © Synesis Software Pty Ltd, 2001-2004 |