diff options
Diffstat (limited to 'src/buildtool/build_engine/base_maps')
-rw-r--r-- | src/buildtool/build_engine/base_maps/expression_map.hpp | 11 | ||||
-rw-r--r-- | src/buildtool/build_engine/base_maps/rule_map.hpp | 11 | ||||
-rw-r--r-- | src/buildtool/build_engine/base_maps/targets_file_map.hpp | 12 |
3 files changed, 21 insertions, 13 deletions
diff --git a/src/buildtool/build_engine/base_maps/expression_map.hpp b/src/buildtool/build_engine/base_maps/expression_map.hpp index ceb2cf2f..3acec531 100644 --- a/src/buildtool/build_engine/base_maps/expression_map.hpp +++ b/src/buildtool/build_engine/base_maps/expression_map.hpp @@ -33,10 +33,13 @@ namespace BuildMaps::Base { using ExpressionFileMap = AsyncMapConsumer<ModuleName, nlohmann::json>; -constexpr auto CreateExpressionFileMap = - CreateJsonFileMap<&RepositoryConfig::ExpressionRoot, - &RepositoryConfig::ExpressionFileName, - /*kMandatory=*/true>; +[[nodiscard]] static inline auto CreateExpressionFileMap( + gsl::not_null<const RepositoryConfig*> const& repo_config, + std::size_t jobs) -> JsonFileMap { + return CreateJsonFileMap<&RepositoryConfig::ExpressionRoot, + &RepositoryConfig::ExpressionFileName, + /*kMandatory=*/true>(repo_config, jobs); +} using ExpressionFunctionMap = AsyncMapConsumer<EntityName, ExpressionFunctionPtr>; diff --git a/src/buildtool/build_engine/base_maps/rule_map.hpp b/src/buildtool/build_engine/base_maps/rule_map.hpp index 867f4c38..d911317c 100644 --- a/src/buildtool/build_engine/base_maps/rule_map.hpp +++ b/src/buildtool/build_engine/base_maps/rule_map.hpp @@ -33,10 +33,13 @@ namespace BuildMaps::Base { using RuleFileMap = AsyncMapConsumer<ModuleName, nlohmann::json>; -constexpr auto CreateRuleFileMap = - CreateJsonFileMap<&RepositoryConfig::RuleRoot, - &RepositoryConfig::RuleFileName, - /*kMandatory=*/true>; +[[nodiscard]] static inline auto CreateRuleFileMap( + gsl::not_null<const RepositoryConfig*> const& repo_config, + std::size_t jobs) -> JsonFileMap { + return CreateJsonFileMap<&RepositoryConfig::RuleRoot, + &RepositoryConfig::RuleFileName, + /*kMandatory=*/true>(repo_config, jobs); +} using UserRuleMap = AsyncMapConsumer<EntityName, UserRulePtr>; diff --git a/src/buildtool/build_engine/base_maps/targets_file_map.hpp b/src/buildtool/build_engine/base_maps/targets_file_map.hpp index f14ea7f1..8ff5d76c 100644 --- a/src/buildtool/build_engine/base_maps/targets_file_map.hpp +++ b/src/buildtool/build_engine/base_maps/targets_file_map.hpp @@ -27,11 +27,13 @@ namespace BuildMaps::Base { using TargetsFileMap = AsyncMapConsumer<ModuleName, nlohmann::json>; -constexpr auto CreateTargetsFileMap = - CreateJsonFileMap<&RepositoryConfig::TargetRoot, - &RepositoryConfig::TargetFileName, - /*kMandatory=*/true>; - +[[nodiscard]] static inline auto CreateTargetsFileMap( + gsl::not_null<const RepositoryConfig*> const& repo_config, + std::size_t jobs) -> JsonFileMap { + return CreateJsonFileMap<&RepositoryConfig::TargetRoot, + &RepositoryConfig::TargetFileName, + /*kMandatory=*/true>(repo_config, jobs); +} } // namespace BuildMaps::Base #endif // INCLUDED_SRC_BUILDTOOL_BUILD_ENGINE_BASE_MAPS_TARGETS_FILE_MAP_HPP |