+ unsigned int i;
+
+ // Seeing at a glance HOW int16, int32, float, double,
+ // are implanted in memory
+ uint16_t u16 = 0x0102;
+ uint32_t u32 = 0x01020304;
+ float flt;
+ double dbl=1.0;
+
+ std::cout << "This is gdcm version: " << GDCM_NAME_SPACE::Util::GetVersion() << std::endl;
+
+ std::cout << "---------- uint16 : " << std::dec << u16 << " = 0x"
+ << std::hex << u16 << std::endl;
+ for (i=0;i<sizeof(uint16_t);i++)
+ {
+ std::cout << std::hex <<"[" <<(uint16_t)((uint8_t*)&u16)[i] << "] " ;
+ // printf("[%0x]\n",((uint8_t*)&u16)[i]);
+ }
+ std::cout << std::endl;
+
+ std::cout << "---------- unit32 : "<< std::dec << u32 << " = 0x"
+ << std::hex << u32 << std::endl;
+ for (i=0;i<sizeof(uint32_t);i++)
+ {
+ std::cout << std::hex <<"[" <<(uint32_t)((uint8_t*)&u32)[i] << "] " ;
+ }
+ std::cout << std::endl;
+ std::cout << std::endl;
+ std::cout << "------------------- float -----------------" << std::endl;
+ std::cout << std::endl;
+ flt = -5;
+ int k;
+ for (k=0; k<11;k++)
+ {
+ std::cout << "--- " << flt
+ // << " = 0x"
+ // << std::hex << (float *)&flt << std::endl;
+ // << std::hex << (int)(float *)&flt << std::endl;
+ // << std::hex << flt
+ << std::endl;
+ for (i=0;i<sizeof(float);i++)
+ {
+ std::cout << std::hex <<"[" <<(uint16_t)((uint8_t*)&flt)[i] << "] " ;
+ }
+ flt += 1.0;
+ std::cout << std::endl;
+ }
+
+ std::cout << std::endl;
+ std::cout << std::endl;
+ std::cout << "--------------------- double ----------------" << std::endl;
+ std::cout << std::endl;
+
+ dbl = -5.0;
+ for (k=0; k<11; k++)
+ {
+ std::cout << "--- " << std::dec << dbl
+ << std::endl;
+ for (i=0;i<sizeof(double);i++)
+ {
+ std::cout << std::hex <<"[" <<(uint16_t)((uint8_t*)&dbl)[i] << "] " ;
+ }
+ std::cout << std::endl;
+ dbl += 1.0;
+ }
+
+
+ std::cout << "Size of short int " << sizeof(short int) << std::endl;
+ std::cout << "Size of int " << sizeof(int) << std::endl;
+ std::cout << "Size of int* " << sizeof(int*) << std::endl;
+ std::cout << "Size of long " << sizeof(long) << std::endl;
+ std::cout << "Size of float" << sizeof(float) << std::endl;
+ std::cout << "Size of double" << sizeof(double) << std::endl;
+
+ // CreateCleanString
+ std::string x = "a#@-bc\tdef";
+ std::string y = GDCM_NAME_SPACE::Util::CreateCleanString(x);
+ std::cout << "Clean : [" << x <<"] --> [" << y <<"]" << std::endl;
+
+
+ // CountSubstring : substring id "#@-"
+ x = "abcd#@-wyz*@-lmn#@-uvw-#@ijk";
+ std::cout << "in [" << x << "] " << std::endl;
+ std::cout << " - count '#@-' : "
+ << GDCM_NAME_SPACE::Util::CountSubstring(x, "#@-") << std::endl;
+
+ // Tokenize : tokens are '#', '@', '-'
+ std::vector<std::string> tokens;
+ std::cout << " - use tokens '#@-' :" << std::endl;
+ GDCM_NAME_SPACE::Util::Tokenize (x, tokens, "#@-");
+ for (unsigned int ui=0; ui<tokens.size();ui++)
+ {
+ std::cout << "[" << tokens[ui] << "]" << std::endl;
+ }
+ tokens.clear();
+