r261: Use explicit std:: namespace
[ctsim.git] / include / ct.h
1 /*****************************************************************************
2 ** FILE IDENTIFICATION
3 **
4 **   Name:          ct.h
5 **   Purpose:       Master header file for CTSim
6 **   Programmer:    Kevin Rosenberg
7 **   Date Started:  Aug 1984
8 **
9 **  This is part of the CTSim program
10 **  Copyright (C) 1983-2000 Kevin Rosenberg
11 **
12 **  $Id: ct.h,v 1.45 2000/12/16 06:12:47 kevin Exp $
13 **
14 **  This program is free software; you can redistribute it and/or modify
15 **  it under the terms of the GNU General Public License (version 2) as
16 **  published by the Free Software Foundation.
17 **
18 **  This program is distributed in the hope that it will be useful,
19 **  but WITHOUT ANY WARRANTY; without even the implied warranty of
20 **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21 **  GNU General Public License for more details.
22 **
23 **  You should have received a copy of the GNU General Public License
24 **  along with this program; if not, write to the Free Software
25 **  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26 ******************************************************************************/
27
28 #ifndef CT_H
29 #define CT_H
30
31 #ifdef MSVC
32  // extern "C" {int strcasecmp(const char*, const char*);}
33   typedef long off_t;
34   #define HAVE_STRING_H 1\r
35   #include <fcntl.h>\r
36   #define strdup _strdup
37   #define strcasecmp _stricmp
38   #define strncasecmp _strnicmp
39 #endif
40
41 #ifdef HAVE_CONFIG_H
42   #include <config.h>
43 #endif
44 \r
45 #define HAVE_ANSI_CPP 1
46 #ifdef HAVE_ANSI_CPP
47 #include <complex>
48 #include <cmath>
49 #include <cstdio>
50 #include <cctype>
51 #include <cstring>
52 #include <cstddef>
53 #include <cstdarg>
54 #include <cstdlib>
55 \r
56 #if defined(MSVC) || HAVE_SSTREAM\r
57 #include <sstream>
58 #else\r
59 #include <sstream_subst>
60 #endif\r
61 \r
62 #include <fstream>
63 #include <iostream>
64 #include <string>\r
65 #include <iterator>
66 #include <algorithm>
67 #include <exception>
68 #include <stdexcept>
69 #include <memory>
70
71 #else
72
73 #ifdef HAVE_CTYPE_H
74 #include <ctype.h>
75 #endif
76 #ifdef HAVE_MATH_H
77 #include <math.h>
78 #endif
79 #ifdef HAVE_STDIO_H
80 #include <stdio.h>
81 #endif
82 #ifdef HAVE_STRING_H
83 #include <string.h>
84 #endif
85 #ifdef HAVE_STDDEF_H
86 #include <stddef.h>
87 #endif
88 #ifdef HAVE_STDLIB_H
89 #include <stdlib.h>
90 #endif
91 #ifdef HAVE_STDARG_H
92 #include <stdarg.h>
93 #endif
94
95 #endif
96
97
98 #ifdef HAVE_DMALLOC
99 #include <dmalloc.h>
100 #endif
101 #ifdef HAVE_UNISTD_H
102 #include <unistd.h>
103 #endif
104 #ifdef HAVE_PNG
105   #include "png.h"
106 #endif
107 #ifdef HAVE_G2_H
108 extern "C" { 
109 #include "g2.h" 
110 }
111 #ifdef HAVE_X11
112 extern "C" {
113 #include "g2_X11.h"
114 }
115 #endif
116 #endif
117
118
119 #ifdef  HAVE_SYS_TYPES_H
120 #include <sys/types.h>
121 #endif
122 #ifdef HAVE_SYS_STAT_H
123 #include <sys/stat.h>
124 #endif
125 #ifdef HAVE_SYS_FCNTL_H
126 #include <sys/fcntl.h>
127 #endif
128 #ifdef HAVE_FCNTL_H
129 #include <fcntl.h>
130 #endif
131 #if defined(HAVE_GETOPT_H) || defined(HAVE_GETOPT_LONG)
132 #include <getopt.h>
133 #endif
134 #ifdef HAVE_SETJMP_H
135 #include <setjmp.h>
136 #endif
137 #ifdef HAVE_SYS_PARAM_H
138 #include <sys/param.h>          /* for htonl on FreeBSD */
139 #endif
140 #ifdef HAVE_NETINET_IN_H
141 #include <netinet/in.h>         /* for htonl on Linux/Solaris */
142 #endif
143 #ifdef HAVE_INTTYPES_H
144 #include <inttypes.h>           /* for htonl on Solaris */
145 #endif
146 #ifdef HAVE_STDINT_H
147 #include <stdint.h>             /* Standard ints on Linux */
148 #endif
149 #ifdef HAVE_ASSERT_H
150 #include <assert.h>
151 #endif
152
153
154 #ifdef HAVE_FFTW
155 #include <rfftw.h>
156 #include <fftw.h>
157 #endif
158
159 #ifdef HAVE_MPI
160 #include "mpi++.h"
161 #include "mpiworld.h"
162 #endif
163
164 #include "ctsupport.h"
165 #include "fnetorderstream.h"
166
167 #ifdef HAVE_SGP
168   #include "ezplot.h"
169   #include "sgp.h"
170 #endif
171
172 #include "array2d.h"
173 #include "array2dfile.h"
174 #include "fnetorderstream.h"
175 #include "imagefile.h"
176 #include "phantom.h"
177 #include "scanner.h"
178 #include "backprojectors.h"
179 #include "filter.h"
180 #include "procsignal.h"
181 #include "projections.h"
182 #include "reconstruct.h"
183 #include "trace.h"
184
185
186 #endif
187