Porytiles
Loading...
Searching...
No Matches
layout_metadata_provider.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <set>
4
#include <string>
5
6
#include "
porytiles/utilities/result/chainable_result.hpp
"
7
8
namespace
porytiles
{
9
20
class
LayoutMetadataProvider
{
21
public
:
22
virtual
~LayoutMetadataProvider
() =
default
;
23
29
[[nodiscard]]
virtual
bool
exists
(
const
std::string &layout_name_or_id)
const
= 0;
30
36
[[nodiscard]]
virtual
ChainableResult<std::size_t>
width
(
const
std::string &layout_name_or_id)
const
= 0;
37
43
[[nodiscard]]
virtual
ChainableResult<std::size_t>
height
(
const
std::string &layout_name_or_id)
const
= 0;
44
50
[[nodiscard]]
virtual
ChainableResult<std::string>
primary_tileset
(
const
std::string &layout_name_or_id)
const
= 0;
51
57
[[nodiscard]]
virtual
ChainableResult<std::string>
58
secondary_tileset
(
const
std::string &layout_name_or_id)
const
= 0;
59
67
[[nodiscard]]
virtual
ChainableResult<std::set<std::string>
>
layout_names
()
const
= 0;
68
76
[[nodiscard]]
virtual
ChainableResult<std::set<std::string>
>
layout_ids
()
const
= 0;
77
};
78
79
}
// namespace porytiles
chainable_result.hpp
porytiles::ChainableResult
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Definition
chainable_result.hpp:29
porytiles::LayoutMetadataProvider
Abstract interface for querying layout metadata by name.
Definition
layout_metadata_provider.hpp:20
porytiles::LayoutMetadataProvider::layout_ids
virtual ChainableResult< std::set< std::string > > layout_ids() const =0
Returns all layout IDs known to this provider.
porytiles::LayoutMetadataProvider::secondary_tileset
virtual ChainableResult< std::string > secondary_tileset(const std::string &layout_name_or_id) const =0
Determines the given layout's secondary tileset.
porytiles::LayoutMetadataProvider::width
virtual ChainableResult< std::size_t > width(const std::string &layout_name_or_id) const =0
Determines the given layout's width in metatiles.
porytiles::LayoutMetadataProvider::~LayoutMetadataProvider
virtual ~LayoutMetadataProvider()=default
porytiles::LayoutMetadataProvider::exists
virtual bool exists(const std::string &layout_name_or_id) const =0
Checks whether a layout exists in the backing store for the given layout name or ID.
porytiles::LayoutMetadataProvider::layout_names
virtual ChainableResult< std::set< std::string > > layout_names() const =0
Returns all layout names known to this provider.
porytiles::LayoutMetadataProvider::primary_tileset
virtual ChainableResult< std::string > primary_tileset(const std::string &layout_name_or_id) const =0
Determines the given layout's primary tileset.
porytiles::LayoutMetadataProvider::height
virtual ChainableResult< std::size_t > height(const std::string &layout_name_or_id) const =0
Determines the given layout's height in metatiles.
porytiles
Definition
app_config.hpp:12
porytiles
include
porytiles
domain
services
layout_metadata_provider.hpp
Generated by
1.9.8