X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmUtil.h;h=85013ce43f7f0cc68831e5923d56b668594d280d;hb=baa2037ebb1ea642207f98a099306b3e9fd7d9f4;hp=d06e8cdeac839da0f96be9e4f3a1f677cbb016c1;hpb=a631c1cc8f402dcef308999aefe5aec531934e8f;p=gdcm.git diff --git a/src/gdcmUtil.h b/src/gdcmUtil.h index d06e8cde..85013ce4 100644 --- a/src/gdcmUtil.h +++ b/src/gdcmUtil.h @@ -1,15 +1,72 @@ -#include -class gdcmDebug { -private: - int DebugLevel; +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmUtil.h,v $ + Language: C++ + Date: $Date: 2005/01/05 15:19:42 $ + Version: $Revision: 1.46 $ + + 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 +#include + +namespace gdcm +{ +/** + * \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 Util +{ public: - gdcmDebug(int); - void Verbose(int, const char*, const char* =""); - void Error(bool, const char*, const char* =""); - void Error(const char*, const char* ="", const char* =""); - void Assert(int, bool, const char*, const char*); -}; + 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(); -istream& eatwhite(istream& is); +private: + static std::string GetIPAddress(); //Do not expose this method +}; -extern gdcmDebug dbg; + 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