OFFIS DCMTK  Version 3.6.0
oftypes.h
1 /*
2  *
3  * Copyright (C) 1997-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: ofstd
15  *
16  * Author: Andreas Barth
17  *
18  * Purpose:
19  * Defines some C++ standard types that are not consistently
20  * supported by all C++ Compilers
21  *
22  * Last Update: $Author: joergr $
23  * Update Date: $Date: 2010-10-14 13:15:51 $
24  * CVS/RCS Revision: $Revision: 1.12 $
25  * Status: $State: Exp $
26  *
27  * CVS/RCS Log at end of file
28  *
29  */
30 
31 #ifndef OFTYPES_H
32 #define OFTYPES_H
33 
34 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
35 
36 #ifdef HAVE_SYS_TYPES_H
37 #include <sys/types.h> /* Needed for int64_t */
38 #endif
39 
40 #ifdef __CHAR_UNSIGNED__
41 typedef signed char Sint8;
42 #else
43 typedef char Sint8;
44 #endif
45 
46 typedef unsigned char Uint8;
47 
48 #if SIZEOF_LONG == 8
49 typedef signed int Sint32;
50 typedef unsigned int Uint32;
51 #else
52 typedef signed long Sint32;
53 typedef unsigned long Uint32;
54 #endif
55 
56 typedef signed short Sint16;
57 typedef unsigned short Uint16;
58 
59 typedef float Float32; /* 32 Bit Floating Point Single */
60 typedef double Float64; /* 64 Bit Floating Point Double */
61 
62 // Definition of type OFBool
63 
64 #ifdef HAVE_CXX_BOOL
65 
66 #define OFBool bool
67 #define OFTrue true
68 #define OFFalse false
69 
70 #else
71 
76 typedef int OFBool;
77 
78 #ifndef OFTrue
79 #define OFTrue (1)
80 #endif
81 
82 #ifndef OFFalse
83 #define OFFalse (0)
84 #endif
85 
86 #endif
87 
88 #if defined(HAVE_TYPENAME)
89 #define OFTypename typename
90 #else
91 #define OFTypename
92 #endif
93 
94 #endif
95 
96 /*
97  * CVS/RCS Log:
98  * $Log: oftypes.h,v $
99  * Revision 1.12 2010-10-14 13:15:51 joergr
100  * Updated copyright header. Added reference to COPYRIGHT file.
101  *
102  * Revision 1.11 2010-10-05 08:49:45 uli
103  * Removed Sint64 and Uint64 since there is no 64bit int available everywhere.
104  *
105  * Revision 1.10 2010-05-25 10:02:36 uli
106  * Added a missing include before the use of int64_t.
107  *
108  * Revision 1.9 2010-05-07 11:12:29 uli
109  * Add new define OFTypename which only expands to "typename"
110  * if "HAVE_TYPENAME" is defined.
111  *
112  * Revision 1.8 2010-03-09 12:14:20 uli
113  * Added Sint64 and Uint64 typedefs.
114  *
115  * Revision 1.7 2005-12-08 16:06:11 meichel
116  * Changed include path schema for all DCMTK header files
117  *
118  * Revision 1.6 2002/07/10 11:45:26 meichel
119  * Moved definitions for Uint8, Sint8 ... Float64 from dcmdata to ofstd
120  * since these types are not DICOM specific
121  *
122  * Revision 1.5 2001/06/01 15:51:36 meichel
123  * Updated copyright header
124  *
125  * Revision 1.4 2000/10/10 12:01:22 meichel
126  * Created/updated doc++ comments
127  *
128  * Revision 1.3 2000/03/08 16:36:03 meichel
129  * Updated copyright header.
130  *
131  * Revision 1.2 1998/11/27 12:42:53 joergr
132  * Added copyright message to source files and changed CVS header.
133  *
134  * Revision 1.1 1997/07/02 11:51:16 andreas
135  * - Preliminary release of the OFFIS Standard Library.
136  * In the future this library shall contain a subset of the
137  * ANSI C++ Library (Version 3) that works on a lot of different
138  * compilers. Additionally this library shall include classes and
139  * functions that are often used. All classes and functions begin
140  * with OF... This library is independent of the DICOM development and
141  * shall contain no DICOM specific stuff.
142  *
143  */
144 


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2