4#include "Stroika/Foundation/StroikaPreComp.h"
14using namespace Stroika::Foundation::DataExchange::XML;
15using namespace Stroika::Foundation::DataExchange::XML::Resource;
17using Memory::MakeSharedPtr;
24String Name::ToString ()
const
29 sb <<
"namespace: "sv << *fNamespace;
32 sb <<
", PublicID: "sv << *fPublicID;
35 sb <<
", systemID: "sv << *fSystemID;
51 struct R final : IResolverRep {
56 virtual optional<Definition> Lookup (
const Name& n)
const override
59 for (
auto i : fDefs_) {
60 if (n.fNamespace != nullopt and n.fNamespace == i.fName.fNamespace) {
63 if (n.fPublicID != nullopt and n.fPublicID == i.fName.fPublicID) {
67 for (
auto i : fDefs_) {
68 if (n.fSystemID != nullopt and n.fSystemID == i.fName.fSystemID) {
Similar to String, but intended to more efficiently construct a String. Mutable type (String is large...
nonvirtual size_t size() const noexcept
nonvirtual void ShrinkTo(size_t sz) noexcept
String is like std::u32string, except it is much easier to use, often much more space efficient,...
Iterable<T> is a base class for containers which easily produce an Iterator<T> to traverse them.