X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmUtil.cxx;h=1c521040b7e4ec7916a33d4f558dec67a960eb70;hb=208af9d6c03679fd7eb2045badc0f5ee8e263aff;hp=ac84c824094136e5c5f733b037b7ad402bb3d418;hpb=1a4c3a039ea7c7fc09419ffe3c28ed7827866788;p=gdcm.git diff --git a/src/gdcmUtil.cxx b/src/gdcmUtil.cxx index ac84c824..1c521040 100644 --- a/src/gdcmUtil.cxx +++ b/src/gdcmUtil.cxx @@ -1,5 +1,11 @@ -#include +// $Header: /cvs/public/gdcm/src/gdcmUtil.cxx,v 1.11 2003/05/21 16:26:28 regrain Exp $ + +#include // For isspace #include "gdcmUtil.h" +using namespace std; + +// Library globals. +gdcmDebug dbg; gdcmDebug::gdcmDebug(int level) { DebugLevel = level; @@ -41,9 +47,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 +85,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); + } +}