XmlCharData.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include "config.h"
00031
00032 #include "XmlCharData.hpp"
00033
00034 using namespace mermaid::support::xml;
00035
00036
00037
00038 #define BLANK_STRING (string(" \t\n\r"))
00039
00040
00041
00042 XmlCharData::XmlCharData()
00043 {
00044 string_ = "";
00045 }
00046
00047
00048
00049 XmlCharData::XmlCharData (const char* c)
00050 {
00051 string_ = string (c);
00052
00053 }
00054
00055
00056
00057 XmlCharData * XmlCharData::clone()
00058 {
00059 return new XmlCharData (*this);
00060 }
00061
00062
00063
00064 XmlCharData::XmlCharData (string s)
00065 {
00066 string_ = s;
00067 }
00068
00069
00070
00071 XmlCharData::XmlCharData (const XmlCharData &c)
00072 {
00073 string_ = c.string_;
00074 }
00075
00076
00077
00078 const bool XmlCharData::isBlank() const
00079 {
00080 size_t pos = string_.find_first_not_of (BLANK_STRING);
00081
00082 if ( (pos >= 0) && (pos < string_.size())) {
00083 return false;
00084 }
00085 else {
00086 return true;
00087 }
00088 }
00089
00090
00091
00092 void XmlCharData::removeEndBlanks()
00093 {
00094 int frontPos = string_.find_first_not_of (BLANK_STRING);
00095 string_.erase (0, frontPos);
00096
00097 int backPos = string_.find_last_not_of (BLANK_STRING);
00098
00099 string_.erase (backPos + 1, string_.size() - backPos - 1);
00100 }
00101
00102
00103
00104 XmlCharData::operator string() const
00105 {
00106 return string_;
00107 }
00108
00109
00110
00111 const bool XmlCharData::isXmlCharData() const
00112 {
00113 return true;
00114 }