Doxygen-Documentation
Doxygen Generated Documentation of Ben-Jose Trainable SAT Solver Library
Main Page
Modules
Classes
Files
File List
File Members
ben-jose
src
utils
print_macros.h
1
2
3
/*************************************************************
4
5
This file is part of ben-jose.
6
7
ben-jose is free software: you can redistribute it and/or modify
8
it under the terms of the version 3 of the GNU General Public
9
License as published by the Free Software Foundation.
10
11
ben-jose is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with ben-jose. If not, see <http://www.gnu.org/licenses/>.
18
19
------------------------------------------------------------
20
21
Copyright (C) 2007-2012, 2014-2016. QUIROGA BELTRAN, Jose Luis.
22
Id (cedula): 79523732 de Bogota - Colombia.
23
See https://github.com/joseluisquiroga/ben-jose
24
25
ben-jose is free software thanks to The Glory of Our Lord
26
Yashua Melej Hamashiaj.
27
Our Resurrected and Living, both in Body and Spirit,
28
Prince of Peace.
29
30
------------------------------------------------------------
31
32
print_macros.h
33
34
macros to declare and define print operators.
35
36
--------------------------------------------------------------*/
37
38
#ifndef PRINT_MACROS_H
39
#define PRINT_MACROS_H
40
41
42
43
//=================================================================
44
// printing declarations
45
46
#define DECLARE_PRINT_FUNCS(obj_t) \
47
bj_ostream& operator << (bj_ostream& os, obj_t& obj1); \
48
bj_ostream& operator << (bj_ostream& os, obj_t* obj1); \
49
\
50
51
// end_of_define
52
53
#define DEFINE_PRINT_FUNCS(obj_t) \
54
inline \
55
bj_ostream& operator << (bj_ostream& os, obj_t& obj1){ \
56
obj1.print_##obj_t(os); \
57
os.flush(); \
58
return os; \
59
} \
60
\
61
inline \
62
bj_ostream& operator << (bj_ostream& os, obj_t* obj1){ \
63
if(obj1 == NULL_PT){ \
64
os << "NULL_" << #obj_t; \
65
} else { \
66
obj1->print_##obj_t(os, true); \
67
} \
68
os.flush(); \
69
return os; \
70
} \
71
\
72
73
// end_of_define
74
75
76
#endif // PRINT_MACROS_H
77
78
Generated on Fri Jun 16 2017 16:56:09 for Doxygen-Documentation by
1.8.11