-void Tokenize (const string& str,
- vector<string>& tokens,
- const string& delimiters = " ") {
- string::size_type lastPos = str.find_first_not_of(delimiters,0);
- string::size_type pos = str.find_first_of(delimiters,lastPos);
- while (string::npos != pos || string::npos != lastPos) {
- tokens.push_back(str.substr(lastPos, pos - lastPos));
- lastPos = str.find_first_not_of(delimiters, pos);
- pos = str.find_first_of(delimiters, lastPos);
- }
+std::ostream& binary_write(std::ostream& os, const uint16_t& val)
+{
+#ifdef GDCM_WORDS_BIGENDIAN
+ uint16_t *swap;
+ swap = (((*val>>8)&0xff) | ((*val&0xff)<<8));
+ return os.write(reinterpret_cast<const char*>(swap), 2);
+#else
+ return os.write(reinterpret_cast<const char*>(&val), 2);
+#endif //GDCM_WORDS_BIGENDIAN
+}
+
+std::ostream& binary_write(std::ostream& os, const uint32_t& val)
+{
+#ifdef GDCM_WORDS_BIGENDIAN
+ uint32_t *swap;
+ swap = ( ((val<<24) & 0xff000000) | ((val<<8) & 0x00ff0000) |
+ ((val>>8) & 0x0000ff00) | ((val>>24) & 0x000000ff) );
+ return os.write(reinterpret_cast<const char*>(swap), 4);
+#else
+ return os.write(reinterpret_cast<const char*>(&val), 4);
+#endif //GDCM_WORDS_BIGENDIAN
+}
+
+//template <>
+std::ostream& binary_write(std::ostream& os, const char* val)
+{
+ return os.write(val, strlen(val));