Program Listing for File ClosedNamespace.hpp¶
↰ Return to documentation for file (src/rdf4cpp/ClosedNamespace.hpp)
#ifndef RDF4CPP_CLOSEDNAMESPACE_HPP
#define RDF4CPP_CLOSEDNAMESPACE_HPP
#include <rdf4cpp/Namespace.hpp>
namespace rdf4cpp {
struct ClosedNamespace : Namespace {
template<typename Suffixes>
requires std::convertible_to<std::ranges::range_value_t<Suffixes>, std::string_view>
ClosedNamespace(std::string_view namespace_iri, Suffixes all_suffixes, storage::DynNodeStoragePtr node_storage)
: Namespace(namespace_iri, node_storage) {
for (auto const &suffix : all_suffixes) {
IRI iri{namespace_iri_ + std::string{suffix}, node_storage};
this->cache_.emplace(suffix, iri.backend_handle().id());
}
}
IRI operator+(std::string_view suffix) const override;
void clear() const override;
};
} // namespace rdf4cpp
#endif //RDF4CPP_CLOSEDNAMESPACE_HPP