#include <MonitorElementCollection.h>
Definition at line 161 of file MonitorElementCollection.h.
std::string const& MonitorElementData::Path::getDirname |
( |
| ) |
const |
|
inline |
std::string MonitorElementData::Path::getFullname |
( |
| ) |
const |
|
inline |
std::string const& MonitorElementData::Path::getObjectname |
( |
| ) |
const |
|
inline |
bool MonitorElementData::Path::operator== |
( |
Path const & |
other | ) |
const |
|
inline |
void MonitorElementData::Path::set |
( |
std::string |
path, |
|
|
Path::Type |
type |
|
) |
| |
|
inline |
Definition at line 180 of file MonitorElementCollection.h.
References DIR, dirname_, eostools::move(), and objname_.
Referenced by dqm::implementation::IBooker::bookME(), dqm::implementation::IGetter::get(), dqm::implementation::IGetter::getAllContents(), dqm::implementation::IGetter::getContents(), DQMTTreeIO::TreeReaderBase::makeKey(), and dqm::implementation::NavigatorBase::setCurrentFolder().
184 while (not
path.empty() and
path.front() ==
'/') {
191 while (tokenStartPos <
path.size()) {
192 auto tokenEndPos =
path.find(
'/', tokenStartPos);
193 if (tokenEndPos == std::string::npos) {
194 tokenEndPos =
path.size();
196 if (0 == tokenEndPos - tokenStartPos) {
198 path.erase(
path.begin() + tokenStartPos);
200 }
else if (2 == tokenEndPos - tokenStartPos) {
201 if (
path[tokenStartPos] ==
'.' and
path[tokenStartPos + 1] ==
'.') {
203 auto endOfLastToken = tokenStartPos;
204 if (tokenStartPos > 1) {
207 auto startOfLastToken =
path.rfind(
'/', endOfLastToken);
208 if (startOfLastToken == std::string::npos) {
213 path.erase(
path.begin() + startOfLastToken + 1,
path.begin() + tokenEndPos);
214 tokenStartPos = startOfLastToken + 1;
219 tokenStartPos = tokenEndPos + 1;
225 if (not
path.empty() and
path.back() !=
'/') {
230 auto lastSlash =
path.rfind(
'/');
231 if (lastSlash == std::string::npos) {
std::string MonitorElementData::Path::dirname_ |
|
private |
std::string MonitorElementData::Path::objname_ |
|
private |