X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmUtil.cxx;h=207b66f13351b1d435182b411c09947c9838565c;hb=ec7826d8a6e9f1bfb58ab5c6ec45702a5b3fa30d;hp=78bcff738034e44448562b9ef22a2a1a154849bb;hpb=8e657a0766489604ade10a101d0d8995bcb79280;p=gdcm.git diff --git a/src/gdcmUtil.cxx b/src/gdcmUtil.cxx index 78bcff73..207b66f1 100644 --- a/src/gdcmUtil.cxx +++ b/src/gdcmUtil.cxx @@ -1,6 +1,11 @@ +// gdcmUtil.cxx + #include // For isspace #include "gdcmUtil.h" +// Library globals. +gdcmDebug dbg; + gdcmDebug::gdcmDebug(int level) { DebugLevel = level; } @@ -41,9 +46,33 @@ void gdcmDebug::Exit(int a) { #endif } -gdcmDebug dbg; +/////////////////////////////////////////////////////////////////////////// +gdcmVR * gdcmGlobal::VR = (gdcmVR*)0; +gdcmDictSet * gdcmGlobal::Dicts = (gdcmDictSet*)0; +gdcmGlobal gdcmGlob; -// Because is not yet available in g++2.06 +gdcmGlobal::gdcmGlobal(void) { + if (VR || Dicts) + dbg.Verbose(0, "gdcmGlobal::gdcmGlobal: VR or Dicts allready allocated"); + VR = new gdcmVR(); + Dicts = new gdcmDictSet(); +} + +gdcmGlobal::~gdcmGlobal() { + delete VR; + delete Dicts; +} + +gdcmVR * gdcmGlobal::GetVR(void) { + return VR; +} + +gdcmDictSet * gdcmGlobal::GetDicts(void) { + return Dicts; +} + +/////////////////////////////////////////////////////////////////////////// +// Because is not yet available in g++2.96 istream& eatwhite(istream& is) { char c; while (is.get(c)) { @@ -55,3 +84,14 @@ istream& eatwhite(istream& is) { return is; } +void Tokenize (const string& str, + vector& tokens, + const string& delimiters) { + string::size_type lastPos = str.find_first_not_of(delimiters,0); + string::size_type pos = str.find_first_of(delimiters,lastPos); + while (string::npos != pos || string::npos != lastPos) { + tokens.push_back(str.substr(lastPos, pos - lastPos)); + lastPos = str.find_first_not_of(delimiters, pos); + pos = str.find_first_of(delimiters, lastPos); + } +}