30template <
char TDelimiter = '\\',
unsigned int TMaxLength = 64,
char TPadChar = ' '>
55 push_back( TPadChar );
63 push_back( TPadChar );
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));
115template <
char TDelimiter,
unsigned int TMaxLength,
char TPadChar>
120 std::getline(is, ms, TDelimiter);
123 if( !is.eof() ) is.putback( TDelimiter );
String.
Definition gdcmString.h:32
String(const std::string &s, size_type pos=0, size_type n=npos)
Definition gdcmString.h:66
String(const value_type *s, size_type n)
Definition gdcmString.h:58
std::string::value_type value_type
Definition gdcmString.h:38
std::string::size_type size_type
Definition gdcmString.h:42
static std::string Trim(const char *input)
Definition gdcmString.h:105
std::string Trim() const
Definition gdcmString.h:96
std::string::const_reference const_reference
Definition gdcmString.h:41
gdcm::String< TDelimiter, TMaxLength, TPadChar > Truncate() const
Definition gdcmString.h:87
bool IsValid() const
return if string is valid
Definition gdcmString.h:80
String(const value_type *s)
Definition gdcmString.h:51
String()
String constructors.
Definition gdcmString.h:50
std::string::iterator iterator
Definition gdcmString.h:44
std::string::pointer pointer
Definition gdcmString.h:39
std::string::reverse_iterator reverse_iterator
Definition gdcmString.h:46
std::string::difference_type difference_type
Definition gdcmString.h:43
std::string::const_reverse_iterator const_reverse_iterator
Definition gdcmString.h:47
std::string::const_iterator const_iterator
Definition gdcmString.h:45
std::string::reference reference
Definition gdcmString.h:40
#define GDCM_STATIC_ASSERT(B)
The GDCM_JOIN + LINE is needed to create a uniq identifier.
Definition gdcmStaticAssert.h:36
std::istream & operator>>(std::istream &is, String< TDelimiter, TMaxLength, TPadChar > &ms)
Definition gdcmString.h:116