Porytiles
Loading...
Searching...
No Matches
metatile_attribute_schema_resolver.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <filesystem>
4#include <string>
5
6#include "gsl/pointers"
7
13
14namespace porytiles {
15
40 public:
42 std::filesystem::path project_root,
43 gsl::not_null<const InfraConfig *> config,
44 gsl::not_null<const TextFormatter *> format,
45 gsl::not_null<const UserDiagnostics *> diag);
46
56 [[nodiscard]] ChainableResult<LoadedMetatileAttributeSchema> resolve(const std::string &tileset_name) const;
57
58 private:
59 std::filesystem::path project_root_;
60 const InfraConfig *config_;
61 const TextFormatter *format_;
62 const UserDiagnostics *diag_;
63};
64
65} // namespace porytiles
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Interface that defines a complete infra layer configuration.
Resolves the invocation's metatile attribute schema: fetch config, scan, infer, reconcile.
ChainableResult< LoadedMetatileAttributeSchema > resolve(const std::string &tileset_name) const
Resolves the metatile attribute schema for the invocation.
Abstract base class for applying text styling with context-aware formatting.
Abstract class for structured error reporting and diagnostic output.