X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmUtil.h;h=e4490b624db2866613ed47541471fb8629abd30a;hb=9d913797d3bf5a18625f4d8d8b42c8f5c8c10d99;hp=ac624c87de93b162e8035b12da30046a287ee1ba;hpb=5311d94213fb3d388924e1d5b8a9e11d1d40fcb3;p=gdcm.git diff --git a/src/gdcmUtil.h b/src/gdcmUtil.h index ac624c87..e4490b62 100644 --- a/src/gdcmUtil.h +++ b/src/gdcmUtil.h @@ -1,48 +1,74 @@ -// gdcmUtil.h -//----------------------------------------------------------------------------- +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmUtil.h,v $ + Language: C++ + Date: $Date: 2005/01/06 20:03:28 $ + Version: $Revision: 1.48 $ + + Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de + l'Image). All rights reserved. See Doc/License.txt or + http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + #ifndef GDCMUTIL_H #define GDCMUTIL_H #include "gdcmCommon.h" -#include "gdcmVR.h" -#include "gdcmTS.h" -#include "gdcmDictSet.h" -#include "gdcmDicomDirElement.h" #include #include -//----------------------------------------------------------------------------- +namespace gdcm +{ /** - * \ingroup gdcmGlobal - * \brief This class contains all globals elements that might be - * instanciated only once (singletons). + * \defgroup Globals Utility functions + * \brief Here are some utility functions, belonging to the Util class, + * dealing with strings, file names... that can be called + * from anywhere by whomsoever they can help. */ -class GDCM_EXPORT gdcmGlobal { + +//----------------------------------------------------------------------------- + +class GDCM_EXPORT Util +{ public: - gdcmGlobal(void); - ~gdcmGlobal(); + static std::string Format(const char *format, ...); + static void Tokenize (const std::string &str, + std::vector &tokens, + const std::string &delimiters = " "); + static int CountSubstring (const std::string &str, + const std::string &subStr); + + static std::string CreateCleanString(std::string const &s); + static std::string NormalizePath(std::string const &name); + static std::string GetPath(std::string const &fullName); + static std::string GetName(std::string const &fullName); + static std::string GetCurrentDate(); + static std::string GetCurrentTime(); + + static std::string DicomString(const char *s, size_t l); + static std::string DicomString(const char *s); + static bool DicomStringEqual(const std::string &s1, const char *s2); + static std::string CreateUniqueUID(const std::string &root = ""); + static bool IsCurrentProcessorBigEndian(); - static gdcmDictSet *GetDicts(void); - static gdcmVR *GetVR(void); - static gdcmTS *GetTS(void); - static gdcmDicomDirElement *GetDicomDirElements(void); + static std::string GetMACAddress(); private: - static gdcmDictSet *Dicts; - static gdcmVR *VR; - static gdcmTS *TS; - static gdcmDicomDirElement *ddElem; + static std::string GetIPAddress(); //Do not expose this method }; + template + GDCM_EXPORT std::ostream &binary_write(std::ostream &os, const T &val); + GDCM_EXPORT std::ostream &binary_write(std::ostream &os, const uint16_t &val); + GDCM_EXPORT std::ostream &binary_write(std::ostream &os, const uint32_t &val); + GDCM_EXPORT std::ostream &binary_write(std::ostream &os, const char *val); + GDCM_EXPORT std::ostream &binary_write(std::ostream &os, std::string const & val); +} // end namespace gdcm //----------------------------------------------------------------------------- -std::istream & eatwhite(std::istream & is); - -void Tokenize (const std::string& str, - std::vector& tokens, - const std::string& delimiters = " "); - -std::string CreateCleanString(std::string s); -void NormalizePath(std::string &name); -std::string GetPath(std::string &fullName); -std::string GetName(std::string &fullName); #endif