]> Creatis software - clitk.git/blob - common/clitkDD.h
Merge branch 'master' of git://git.creatis.insa-lyon.fr/clitk
[clitk.git] / common / clitkDD.h
1 /*=========================================================================
2   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
3
4   Authors belong to:
5   - University of LYON              http://www.universite-lyon.fr/
6   - Léon Bérard cancer center       http://www.centreleonberard.fr
7   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
8
9   This software is distributed WITHOUT ANY WARRANTY; without even
10   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   PURPOSE.  See the copyright notices for more information.
12
13   It is distributed under dual licence
14
15   - BSD        See included LICENSE.txt file
16   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ===========================================================================*/
18 #ifndef clitkDD_h
19 #define clitkDD_h
20
21 #include <iostream>
22 #ifdef WIN32
23 # include <windows.h>
24 #endif
25 // David's debug
26
27 #ifdef WIN32
28 # define DD(a) { \
29     std::ostringstream ossDD; \
30     ossDD << #a " = [ " << a << " ]" << std::endl; \
31     OutputDebugString(ossDD.str().c_str()); \
32     std::cout << ossDD.str() << std::endl; \
33   }
34 #else
35 # define DD(a) std::cout << #a " = [ " << a << " ]" << std::endl;std::cout.flush();
36 #endif
37 #define DDV(a,n) { std::cout << #a " = [ "; for(unsigned int _i_=0; _i_<n; _i_++) { std::cout << a[_i_] << " "; }; std::cout << " ]" << std::endl;std::cout.flush();}
38   template<class T>
39     void _print_container(T const& a)
40     { for(typename T::const_iterator i=a.begin();i!=a.end();++i) { std::cout << *i << " "; };}
41 #define DDS(a) { std::cout << #a " = [ "; _print_container(a) ; std::cout << " ]" << std::endl;std::cout.flush():}
42
43 #endif