| 1153 | } |
| 1154 | |
| 1155 | ObjectIdentifier ObjectIdentifier::relativeTo(const ObjectIdentifier& other) const |
| 1156 | { |
| 1157 | ObjectIdentifier result(other.getOwner()); |
| 1158 | ResolveResults thisresult(*this); |
| 1159 | ResolveResults otherresult(other); |
| 1160 | |
| 1161 | if (otherresult.resolvedDocument != thisresult.resolvedDocument) { |
| 1162 | result.setDocumentName(std::move(thisresult.resolvedDocumentName), true); |
| 1163 | } |
| 1164 | if (otherresult.resolvedDocumentObject != thisresult.resolvedDocumentObject) { |
| 1165 | result.setDocumentObjectName(std::move(thisresult.resolvedDocumentObjectName), |
| 1166 | true, |
| 1167 | String(subObjectName)); |
| 1168 | } |
| 1169 | |
| 1170 | for (std::size_t i = thisresult.propertyIndex; i < components.size(); ++i) { |
| 1171 | result << components[i]; |
| 1172 | } |
| 1173 | |
| 1174 | return result; |
| 1175 | } |
| 1176 | |
| 1177 | ObjectIdentifier ObjectIdentifier::parse(const DocumentObject* docObj, const std::string& str) |
| 1178 | { |
no test coverage detected