Iros
 
Loading...
Searching...
No Matches
package.h
Go to the documentation of this file.
1#pragma once
2
3#include "config.h"
8#include "dius/sync_file.h"
9#include "step.h"
10
11namespace pm {
12class Package {
13public:
14 static auto load(dius::SyncFile& file) -> di::Result<Package>;
15
16 auto name() const { return m_name.view(); }
17 auto version() const { return m_version.view(); }
18
19 auto operator==(Package const& other) const { return m_name == other.m_name; }
20 auto operator<=>(Package const& other) const { return m_name <=> other.m_name; }
21
22 auto operator==(di::TransparentStringView other) const { return m_name == other; }
23 auto operator<=>(di::TransparentStringView other) const { return m_name <=> other; }
24
25 auto build(Config const& config) -> di::Result<>;
26
27private:
29 di::TransparentString m_version;
30 di::Vector<Step> m_steps;
31};
32}
Definition vector_forward_declaration.h:8
Definition sync_file.h:40
Definition config.h:10
Definition package.h:12
auto operator==(Package const &other) const
Definition package.h:19
auto name() const
Definition package.h:16
auto version() const
Definition package.h:17
auto operator<=>(di::TransparentStringView other) const
Definition package.h:23
auto build(Config const &config) -> di::Result<>
Definition package.cpp:237
static auto load(dius::SyncFile &file) -> di::Result< Package >
Definition package.cpp:69
auto operator<=>(Package const &other) const
Definition package.h:20
auto operator==(di::TransparentStringView other) const
Definition package.h:22
string::StringImpl< string::TransparentEncoding > TransparentString
Definition string.h:12
string::StringViewImpl< string::TransparentEncoding > TransparentStringView
Definition string_view.h:13
Expected< T, Error > Result
Definition result.h:8
Definition config.cpp:3