X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmUtil.h;h=6893f4d231cc7a121eade443f7d7c83538ee925e;hb=8d10ccb6794a0f22234983990e2181a24625fbd8;hp=9ea02aa553c0ddc131939449f593bcedf775afd5;hpb=eebb428694422967cab7559646df139d790afded;p=gdcm.git diff --git a/src/gdcmUtil.h b/src/gdcmUtil.h index 9ea02aa5..6893f4d2 100644 --- a/src/gdcmUtil.h +++ b/src/gdcmUtil.h @@ -3,12 +3,12 @@ Program: gdcm Module: $RCSfile: gdcmUtil.h,v $ Language: C++ - Date: $Date: 2004/09/07 13:57:05 $ - Version: $Revision: 1.30 $ + Date: $Date: 2004/11/16 05:03:35 $ + Version: $Revision: 1.45 $ 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.htm for details. + 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 @@ -19,30 +19,53 @@ #ifndef GDCMUTIL_H #define GDCMUTIL_H +#include "gdcmCommon.h" #include #include -#include "gdcmCommon.h" - +namespace gdcm +{ /** * \defgroup Globals Utility functions - * \brief Here are some utility functions, belonging to NO class, + * \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. */ //----------------------------------------------------------------------------- -GDCM_EXPORT std::istream & eatwhite(std::istream & is); - -GDCM_EXPORT void Tokenize (const std::string& str, - std::vector& tokens, - const std::string& delimiters = " "); -GDCM_EXPORT int CountSubstring (const std::string& str, - const std::string& subStr); - -GDCM_EXPORT std::string CreateCleanString(std::string s); -GDCM_EXPORT void NormalizePath(std::string &name); -GDCM_EXPORT std::string GetPath(std::string &fullName); -GDCM_EXPORT std::string GetName(std::string &fullName); + +class GDCM_EXPORT Util +{ +public: + 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 = ""); + +private: + 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 //----------------------------------------------------------------------------- #endif