// Copyright (c) 1997-2000 Utrecht University (The Netherlands), // ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany), // INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg // (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria), // and Tel-Aviv University (Israel). All rights reserved. // // This file is part of CGAL (www.cgal.org); you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public License as // published by the Free Software Foundation; version 2.1 of the License. // See the file LICENSE.LGPL distributed with CGAL. // // Licensees holding a valid commercial license may use this file in // accordance with the commercial license agreement provided with the software. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. // // $Source: /CVSROOT/CGAL/Packages/Kernel_d/include/CGAL/Kernel_d/debug.h,v $ // $Revision: 1.13 $ $Date: 2003/10/21 12:19:33 $ // $Name: $ // // Author(s) : Michael Seel #ifndef CGAL_DEBUG_H #define CGAL_DEBUG_H #include #include #include #undef TRACE #undef TRACEN #undef TRACEV #undef CTRACE #undef CTRACEN #undef ASSERT static int debugthread=3141592; namespace { struct Avoid_warning_for_unused_debugthread { static int x; }; int Avoid_warning_for_unused_debugthread::x = debugthread; } #if _DEBUG>0 #define SETDTHREAD(l) debugthread=l #else #define SETDTHREAD(l) #endif #if _DEBUG>0 #define TRACE(t) if((debugthread%_DEBUG)==0)\ std::cerr<<" "<0 #define TRACEV(t) if((debugthread%_DEBUG)==0)\ std::cerr<<" "<<#t<<" = "<<(t)<0 #define TRACEN(t) if((debugthread%_DEBUG)==0)\ std::cerr<<" "<0 #define CTRACE(b,t) if(b) std::cerr << " " << t; else std::cerr << " 0" #else #define CTRACE(b,t) #endif #if _DEBUG>0 #define CTRACEN(b,t) if(b) std::cerr<< " " < void print_elements(const C& container) { typename C::const_iterator it; forall_iterators(it,container) std::cerr << *it << " "; } template void print(I s, I e, std::ostream& os = std::cerr) { while(s!=e) os<<*s++<<" "; } template std::string make_std_string(const T& t) { std::ostringstream os; os << t; std::string res(os.str()); return res; } } // MSDEBUG #endif //CGAL_DEBUG_H