46 #include <Xyce_config.h>
71 std::string::size_type i =
name_.find_last_of(
':');
72 i = (i == std::string::npos ? 0 : i + 1);
76 if (i <
name_.size()) {
78 return name_.substr(i + 1,
name_.find(
"!", i) - i - 1);
80 return name_.substr(i, 1);
90 std::string::size_type i =
name_.find_last_of(
':');
91 i = (i == std::string::npos ? 0 : i + 1);
97 if (i <
name_.size()) {
100 else if (
name_[i] ==
'U') {
101 i =
name_.find(
'!', i + 1);
102 if (i <
name_.size()) {
103 std::string::size_type j =
name_.find(
'!', i + 1);
104 return name_.substr(i, j);
108 return name_.substr(i);
116 std::string::size_type i =
name_.find_last_of(
':');
118 if (i != std::string::npos)
119 return name_.substr(0, i);
126 std::string::size_type i =
name_.find_last_of(
':');
127 i = (i == std::string::npos ? 0 : i + 1);
137 std::string::size_type i =
name_.find_last_of(
"!");
138 if (i == std::string::npos)
141 std::istringstream iss(
name_.substr(i + 1));
172 std::string outputName;
176 std::string pdeString(
"YPDE!");
177 std::string neutString(
"YNEUTRON!");
178 std::string::size_type pos1 = s.find(pdeString);
179 std::string::size_type pos2 = s.find(neutString);
181 if (pos1 != std::string::npos)
183 std::string tmp1 =
"";
185 tmp1 = s.substr(0,pos1);
186 std::string tmp2 = s.substr(pos1+5, s.length()-1);
187 outputName = tmp1 + tmp2;
189 else if (pos2 != std::string::npos)
191 std::string tmp1 =
"";
192 if (pos2 > 0) tmp1 = s.substr(0,pos2);
193 std::string tmp2 = s.substr(pos2+9, s.length()-1);
194 outputName = tmp1 + tmp2;
204 for (
int i=0;i<outputName.size();++i)
206 if (outputName[i]==
':') outputName[i] =
'_';
207 if (outputName[i]==
'%') outputName[i] =
'_';
236 size_t pos=s.find_last_of(
":");
237 if (pos != std::string::npos)
239 s = s.substr(pos+1,1)+
":"+s.substr(0,pos+1)+s.substr(pos+2);
248 size_t pos=s.find_last_of(
":");
249 if (pos != std::string::npos)
251 s = s.substr(pos+1,1)+
":"+s.substr(0,pos+1)+s.substr(pos+2);
254 return s +
":" + lead;