diff options
Diffstat (limited to 'src/buildtool/build_engine/expression/expression.hpp')
-rw-r--r-- | src/buildtool/build_engine/expression/expression.hpp | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/buildtool/build_engine/expression/expression.hpp b/src/buildtool/build_engine/expression/expression.hpp index 89f5c5ea..cbfb2f24 100644 --- a/src/buildtool/build_engine/expression/expression.hpp +++ b/src/buildtool/build_engine/expression/expression.hpp @@ -40,8 +40,8 @@ #include "src/utils/cpp/json.hpp" class Expression { - friend auto operator+(Expression const& /*lhs*/, Expression const& /*rhs*/) - -> Expression; + friend auto operator+(Expression const& /*lhs*/, + Expression const& /*rhs*/) -> Expression; public: using none_t = std::monostate; @@ -84,10 +84,9 @@ class Expression { auto operator=(Expression&& other) noexcept = delete; template <class T> - requires(IsValidType<std::remove_cvref_t<T>>()) - // NOLINTNEXTLINE(bugprone-forwarding-reference-overload) - explicit Expression(T&& data) noexcept - : data_{std::forward<T>(data)} {} + requires(IsValidType<std::remove_cvref_t<T>>()) + // NOLINTNEXTLINE(bugprone-forwarding-reference-overload) + explicit Expression(T&& data) noexcept : data_{std::forward<T>(data)} {} [[nodiscard]] auto IsNone() const noexcept -> bool { return IsA<none_t>(); } [[nodiscard]] auto IsBool() const noexcept -> bool { return IsA<bool>(); } @@ -161,10 +160,10 @@ class Expression { } template <class T> - requires(IsValidType<std::remove_cvref_t<T>>() or - std::is_same_v<std::remove_cvref_t<T>, ExpressionPtr>) - [[nodiscard]] auto Get(std::string const& key, T&& default_value) const - -> ExpressionPtr { + requires(IsValidType<std::remove_cvref_t<T>>() or + std::is_same_v<std::remove_cvref_t<T>, ExpressionPtr>) + [[nodiscard]] auto Get(std::string const& key, + T&& default_value) const -> ExpressionPtr { auto value = At(key); if (value) { return value->get(); @@ -178,7 +177,8 @@ class Expression { } template <class T> - requires(IsValidType<T>()) [[nodiscard]] auto Value() const& noexcept + requires(IsValidType<T>()) + [[nodiscard]] auto Value() const& noexcept -> std::optional<std::reference_wrapper<T const>> { if (GetIndexOf<T>() == data_.index()) { return std::make_optional(std::ref(std::get<T>(data_))); @@ -187,8 +187,8 @@ class Expression { } template <class T> - requires(IsValidType<T>()) [[nodiscard]] auto Value() && noexcept - -> std::optional<T> { + requires(IsValidType<T>()) + [[nodiscard]] auto Value() && noexcept -> std::optional<T> { if (GetIndexOf<T>() == data_.index()) { return std::make_optional(std::move(std::get<T>(data_))); } @@ -268,8 +268,8 @@ class Expression { AtomicValue<bool> is_cachable_{}; template <class T, std::size_t kIndex = 0> - requires(IsValidType<T>()) [[nodiscard]] static consteval auto GetIndexOf() - -> std::size_t { + requires(IsValidType<T>()) + [[nodiscard]] static consteval auto GetIndexOf() -> std::size_t { static_assert(kIndex < std::variant_size_v<decltype(data_)>, "kIndex out of range"); if constexpr (std::is_same_v< @@ -313,8 +313,8 @@ class Expression { } template <class T> - requires(Expression::IsValidType<T>()) - [[nodiscard]] static auto TypeToString() noexcept -> std::string { + requires(Expression::IsValidType<T>()) + [[nodiscard]] static auto TypeToString() noexcept -> std::string { if constexpr (std::is_same_v<T, bool>) { return "bool"; } |