lintel 0.2.0
Loading...
Searching...
No Matches
EnvironmentConfiguration.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <filesystem>
5#include <map>
6#include <optional>
7#include <string>
8#include <vector>
9
10namespace lintel {
13{
14public:
22
25
28
29private:
31 std::map<Environment, std::string> m_environmentConfigurations;
33 std::vector<std::filesystem::path> m_paths;
34
35public:
39 [[nodiscard]] const std::string &of(Environment environment);
40
43 std::vector<std::filesystem::path> pathsOf();
44
48 std::optional<std::filesystem::path> pathOf(const std::string &fileName);
49
53 void overrides(Environment environment, const std::string &value);
54
69 static std::string expand(const std::string &value);
70};
71}// namespace lintel
Definition EnvironmentConfiguration.h:13
static std::string expand(const std::string &value)
void overrides(Environment environment, const std::string &value)
std::optional< std::filesystem::path > pathOf(const std::string &fileName)
const std::string & of(Environment environment)
Environment
Definition EnvironmentConfiguration.h:16
@ Home
Definition EnvironmentConfiguration.h:19
@ ConfigDirectory
Definition EnvironmentConfiguration.h:17
@ Path
Definition EnvironmentConfiguration.h:20
@ BootstrapConfigName
Definition EnvironmentConfiguration.h:18
std::vector< std::filesystem::path > pathsOf()
Definition BaseFeature.h:6
constexpr std::string_view type_name()
Definition TypeName.h:9