| 126 | } |
| 127 | |
| 128 | boost::optional<std::string> OutputMeter_Impl::specificEndUse() const { |
| 129 | boost::optional<std::string> result; |
| 130 | std::string myName = name(); |
| 131 | boost::smatch matches; |
| 132 | if (boost::regex_search(myName, matches, OutputMeter::meterRegex())) { |
| 133 | // match is always true but may be empty |
| 134 | if (matches[1].first != matches[1].second) { |
| 135 | result = std::string(matches[1].first, matches[1].second); |
| 136 | } |
| 137 | } |
| 138 | |
| 139 | return result; |
| 140 | } |
| 141 | |
| 142 | boost::optional<EndUseType> OutputMeter_Impl::endUseType() const { |
| 143 | boost::optional<EndUseType> result; |