Ejemplo n.º 1
0
bool PathTemplate::evaluate(const Path& otherPath, KeyValue& parameters) const {
	parameters.clear();

	if (path.size() != otherPath.size()) {
		return false;
	}

	for (size_t i = 0; i < path.size(); ++i) {
		if (isPathSegmentVariable[i]) {
			parameters.insert(std::make_pair(path[i], otherPath[i]));
		} else {
			if (path[i] != otherPath[i]) {
				parameters.clear();
				return false;
			}
		}
	}

	return true;
}