triskele/include/triskeleDebug.hpp
Git Merciol e097095f3b nouveau fichier : include/ArrayTree/ArrayTreeBuilder.hpp
nouveau fichier : include/ArrayTree/ArrayTreeBuilder.tpp
	nouveau fichier : include/ArrayTree/Border.hpp
	nouveau fichier : include/ArrayTree/GraphWalker.hpp
	nouveau fichier : include/ArrayTree/Leader.hpp
	nouveau fichier : include/ArrayTree/Weight.hpp
	nouveau fichier : include/ArrayTree/Weight.tpp
	nouveau fichier : include/ArrayTree/triskeleArrayTreeBase.hpp
	nouveau fichier : include/ArrayTree/triskeleSort.hpp
	nouveau fichier : include/ArrayTree/triskeleSort.tpp
	modifié :         include/Attribute.hpp
	modifié :         include/Attributes/AreaAttribute.hpp
	supprimé :        include/BuildTree.hpp
	supprimé :        include/DAPTree/Border.hpp
	supprimé :        include/DAPTree/DAPTreeBuilder.hpp
	supprimé :        include/DAPTree/DAPTreeBuilder.tpp
	supprimé :        include/DAPTree/GraphWalker.hpp
	supprimé :        include/DAPTree/ParRnk.hpp
	supprimé :        include/DAPTree/Weight.hpp
	supprimé :        include/DAPTree/baseDAPTree.hpp
	supprimé :        include/DAPTree/sort.hpp
	nouveau fichier : include/IImage.hpp
	nouveau fichier : include/IImage.tpp
	supprimé :        include/ImageInterface.hpp
	supprimé :        include/ImageInterface.tpp
	modifié :         include/QuadTree/QuadTreeBuilder.hpp
	modifié :         include/Tree.hpp
	nouveau fichier : include/TreeBuilder.hpp
	supprimé :        include/TreeOfShapesGeraud/ToSBuilder.hpp
	supprimé :        include/TreeOfShapesGeraud/ToSutils.hpp
	modifié :         include/XMLTree/XMLTreeBuilder.hpp
	supprimé :        include/baseDef.hpp
	supprimé :        include/getType.hpp
	nouveau fichier : include/triskeleBase.hpp
	renommé :         include/dealThreads.hpp -> include/triskeleDealThreads.hpp
	nouveau fichier : include/triskeleDealThreads.tpp
	renommé :         include/debug.hpp -> include/triskeleDebug.hpp
	nouveau fichier : include/triskeleGdalGetType.hpp
	modifié :         otb-module.cmake
	nouveau fichier : src/ArrayTree/triskeleArrayTreeBase.cpp
	modifié :         src/Attribute.cpp
	modifié :         src/Attributes/AreaAttribute.cpp
	modifié :         src/CMakeLists.txt
	supprimé :        src/DAPTree/GraphWalker.cpp
	supprimé :        src/DAPTree/ParRnk.cpp
	supprimé :        src/DAPTree/baseDAPTree.cpp
	supprimé :        src/DAPTree/sort.cpp
	modifié :         src/QuadTree/QuadTreeBuilder.cpp
	modifié :         src/Tree.cpp
	supprimé :        src/TreeOfShapesGeraud/ToSBuilder.cpp
	supprimé :        src/TreeOfShapesGeraud/ToSutils.cpp
	modifié :         src/XMLTree/XMLTreeBuilder.cpp
	supprimé :        src/debug.cpp
	modifié :         src/testMain.cpp
	nouveau fichier : src/triskeleDebug.cpp
	supprimé :        tests/ToSGeraudCoord.txt
	supprimé :        tests/ToSGeraudIdx.ods
2017-11-26 18:38:11 +01:00

62 lines
1.3 KiB
C++

#ifndef _TRISKELE_DEBUG_HPP
#define _TRISKELE_DEBUG_HPP
#include <iostream>
#include <iomanip>
#include <string>
#include <sstream>
#ifdef SMART_LOG
#ifndef DEF_LOG
#define DEF_LOG(name, expr) ::triskele::Log log (name); { std::cerr << expr << std::endl << std::flush; }
//#define DEF_LOG_(name) DEF_LOG(name, "") XXXX
#endif
#ifndef LOG
#define LOG(expr) { std::cerr << log << "| " << expr << std::endl << std::flush; }
#endif
#ifndef DEBUG
#define DEBUG(expr) { std::cerr << expr << std::endl << std::flush; }
#endif
#else
#ifndef DEF_LOG
#define DEF_LOG(name, expr)
//#define DEF_LOG_(name) XXXX
#endif
#ifndef LOG
#define LOG(expr)
#endif
#ifndef DEBUG
#define DEBUG(expr)
#endif
#endif
namespace triskele {
// ========================================
using namespace std;
class Log {
static unsigned int indent;
string functName;
public:
Log (const string &funct) : functName (funct) { ++indent; cerr << *this << "> "; }
~Log () { cerr << *this << "<" << endl << flush; --indent; }
friend inline ostream &operator << (ostream &out, const Log &log) {
return out << setw (3) << setw ((log.indent % 20)*2) << "" << log.functName;
}
};
// ========================================
}//namespace triskele
#endif //_TRISKELE_DEBUG_HPP