00001 /*========================================================================= 00002 00003 Program: gdcm 00004 Module: $RCSfile: gdcmVR.h,v $ 00005 Language: C++ 00006 Date: $Date: 2005/01/11 15:15:38 $ 00007 Version: $Revision: 1.18 $ 00008 00009 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de 00010 l'Image). All rights reserved. See Doc/License.txt or 00011 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. 00012 00013 This software is distributed WITHOUT ANY WARRANTY; without even 00014 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00015 PURPOSE. See the above copyright notices for more information. 00016 00017 =========================================================================*/ 00018 00019 #ifndef GDCMVR_H 00020 #define GDCMVR_H 00021 00022 #include "gdcmCommon.h" 00023 #include <map> 00024 #include <string> 00025 #include <iostream> 00026 00027 namespace gdcm 00028 { 00029 00030 //----------------------------------------------------------------------------- 00031 typedef std::string VRKey; 00032 typedef std::string VRAtr; 00034 typedef std::map<VRKey, VRAtr> VRHT; 00035 00036 //----------------------------------------------------------------------------- 00041 class GDCM_EXPORT VR 00042 { 00043 public: 00044 VR(void); 00045 ~VR(); 00046 00047 void Print(std::ostream &os = std::cout); 00048 00049 int Count(VRKey const &key); 00050 bool IsVROfBinaryRepresentable(VRKey const &tested); 00051 bool IsVROfStringRepresentable(VRKey const &tested); 00052 bool IsVROfSequence(VRKey const &tested); 00053 00054 bool IsValidVR(VRKey const &key); 00055 00056 private: 00057 VRHT vr; 00058 }; 00059 } // end namespace gdcm 00060 00061 //----------------------------------------------------------------------------- 00062 #endif