33 #include "dcmtk/config/osconfig.h"
35 #ifdef USE_STD_CXX_INCLUDES
44 #if defined(HAVE_SSTREAM)
46 #define USE_STRINGSTREAM
47 #elif defined(HAVE_STRSTREAM)
50 #error DCMTK needs stringstream or strstream type
60 #ifdef USING_STD_NAMESPACE
70 #if defined(HAVE_STRSTREA_H) || defined(HAVE_STRSTREAM_H)
71 #ifdef HAVE_STRSTREA_H
74 #include <strstream.h>
76 #elif defined(HAVE_SSTREAM_H)
78 #define USE_STRINGSTREAM
80 #error DCMTK needs stringstream or strstream type
86 #ifdef USE_STRINGSTREAM
90 #ifdef HAVE_STD_NAMESPACE
91 #define STD_NAMESPACE std::
97 #define OFendl STD_NAMESPACE endl
99 typedef STD_NAMESPACE stringstream OFStringStream;
100 typedef STD_NAMESPACE ostringstream OFOStringStream;
101 typedef STD_NAMESPACE istringstream OFIStringStream;
103 #define OFStringStream_ends ""
104 #define OFSTRINGSTREAM_GETOFSTRING(oss, string) \
105 OFString string((oss).str().c_str());
108 #define OFSTRINGSTREAM_GETSTR(oss, chptr) \
110 STD_NAMESPACE string chptr##__ = (oss).str(); \
111 const char *chptr = chptr##__.c_str();
112 #define OFSTRINGSTREAM_FREESTR(chptr) \
117 typedef strstream OFStringStream;
118 typedef ostrstream OFOStringStream;
119 typedef istrstream OFIStringStream;
121 #define OFStringStream_ends ends
122 #define OFSTRINGSTREAM_GETOFSTRING(oss, string) \
123 char * string##__ = (oss).str(); \
124 OFString string(string##__); \
128 #define OFSTRINGSTREAM_GETSTR(oss, chptr) \
130 const char *chptr = (oss).str();
131 #define OFSTRINGSTREAM_FREESTR(chptr) \
132 delete[] (char *)chptr; \