30 template <
char TDelimiter = '\\',
unsigned int TMaxLength = 64,
char TPadChar = ' '>
34 GDCM_STATIC_ASSERT( TPadChar ==
' ' || TPadChar == 0 );
55 push_back( TPadChar );
58 String(
const value_type* s, size_type n):
std::string(s, n)
63 push_back( TPadChar );
66 String(
const std::string& s, size_type pos=0, size_type n=npos):
67 std::string(s, pos, n)
72 push_back( TPadChar );
77 operator const char *()
const {
return this->c_str(); }
83 if( l > TMaxLength )
return false;
89 std::string str = *
this;
90 str.resize( TMaxLength );
97 std::string str = *
this;
98 std::string::size_type pos1 = str.find_first_not_of(
' ');
99 std::string::size_type pos2 = str.find_last_not_of(
' ');
100 str = str.substr( (pos1 == std::string::npos) ? 0 : pos1,
101 (pos2 == std::string::npos) ? (str.size() - 1) : (pos2 - pos1 + 1));
105 static std::string
Trim(
const char *input) {
106 if( !input )
return "";
107 std::string str = input;
108 std::string::size_type pos1 = str.find_first_not_of(
' ');
109 std::string::size_type pos2 = str.find_last_not_of(
' ');
110 str = str.substr( (pos1 == std::string::npos) ? 0 : pos1,
111 (pos2 == std::string::npos) ? (str.size() - 1) : (pos2 - pos1 + 1));
115 template <
char TDelimiter,
unsigned int TMaxLength,
char TPadChar>
120 std::getline(is, ms, TDelimiter);
123 if( !is.eof() ) is.putback( TDelimiter );
136 #endif //GDCMSTRING_H
String(const std::string &s, size_type pos=0, size_type n=npos)
Definition: gdcmString.h:66
String()
String constructors.
Definition: gdcmString.h:50
std::string::value_type value_type
Definition: gdcmString.h:38
bool IsValid() const
return if string is valid
Definition: gdcmString.h:80
std::string Trim() const
Definition: gdcmString.h:96
std::istream & operator>>(std::istream &is, String< TDelimiter, TMaxLength, TPadChar > &ms)
Definition: gdcmString.h:116
static std::string Trim(const char *input)
Definition: gdcmString.h:105
std::string::iterator iterator
Definition: gdcmString.h:44
gdcm::String< TDelimiter, TMaxLength, TPadChar > Truncate() const
Definition: gdcmString.h:87
std::string::size_type size_type
Definition: gdcmString.h:42
std::string::reference reference
Definition: gdcmString.h:40
String.
Definition: gdcmString.h:31
std::string::reverse_iterator reverse_iterator
Definition: gdcmString.h:46
String(const value_type *s)
Definition: gdcmString.h:51
std::string::const_reference const_reference
Definition: gdcmString.h:41
std::string::difference_type difference_type
Definition: gdcmString.h:43
String(const value_type *s, size_type n)
Definition: gdcmString.h:58
std::string::pointer pointer
Definition: gdcmString.h:39
Definition: gdcmASN1.h:20
std::string::const_iterator const_iterator
Definition: gdcmString.h:45
std::string::const_reverse_iterator const_reverse_iterator
Definition: gdcmString.h:47