diff options
author | Dominick Allen <djallen@librehumanitas.org> | 2024-10-09 17:28:35 -0500 |
---|---|---|
committer | Dominick Allen <djallen@librehumanitas.org> | 2024-10-09 17:28:35 -0500 |
commit | 2eaa2875f0f2523439beb623fc63146ef295c8cc (patch) | |
tree | 9bf8ccc66864b35456f449c0fd58e76600e133f4 /include | |
parent | 79620980ea3880f6512a35b9d688a60a02ff8b98 (diff) |
Use const references and constexpr as applicable.
Diffstat (limited to 'include')
-rw-r--r-- | include/fud_result.hpp | 11 | ||||
-rw-r--r-- | include/fud_status.hpp | 8 | ||||
-rw-r--r-- | include/libfud.hpp | 4 |
3 files changed, 11 insertions, 12 deletions
diff --git a/include/fud_result.hpp b/include/fud_result.hpp index 74954df..dae084a 100644 --- a/include/fud_result.hpp +++ b/include/fud_result.hpp @@ -18,7 +18,6 @@ #ifndef FUD_RESULT_HPP #define FUD_RESULT_HPP -#include <utility> #include <variant> namespace fud { @@ -58,22 +57,22 @@ class [[nodiscard]] Result { return (m_value.index() == 1); } - [[nodiscard]] T getOkay() const + [[nodiscard]] const T& getOkay() const& { return std::get<T>(m_value); } - [[nodiscard]] E getError() const + [[nodiscard]] const E& getError() const& { return std::get<E>(m_value); } - [[nodiscard]] T&& getOkay() + [[nodiscard]] const T&& getOkay() const&& { return std::move(std::get<T>(m_value)); } - [[nodiscard]] E&& getError() + [[nodiscard]] const E&& getError() const&& { return std::move(std::get<E>(m_value)); } @@ -91,7 +90,7 @@ class [[nodiscard]] Result { { } - explicit Result(T&& value) : m_value{std::move(value)} + explicit Result(T&& value): m_value{std::move(value)} { } diff --git a/include/fud_status.hpp b/include/fud_status.hpp index 6a9d653..f8f7687 100644 --- a/include/fud_status.hpp +++ b/include/fud_status.hpp @@ -42,7 +42,7 @@ enum class [[nodiscard]] FudStatus NotSupported }; -static inline const char* FudStatusToString(FudStatus status) +constexpr const char* FudStatusToString(FudStatus status) { switch (status) { case FudStatus::Success: @@ -86,19 +86,19 @@ static inline const char* FudStatusToString(FudStatus status) } } -static inline bool anyAreNull() +constexpr bool anyAreNull() { return false; } template <typename T> -bool anyAreNull(const T* pointer) +constexpr bool anyAreNull(const T* pointer) { return pointer == nullptr; } template <typename T, typename... Ts> -bool anyAreNull(T pointer, Ts... pointers) +constexpr bool anyAreNull(T pointer, Ts... pointers) { if (pointer == nullptr) { return true; diff --git a/include/libfud.hpp b/include/libfud.hpp index c670ed4..5bc1630 100644 --- a/include/libfud.hpp +++ b/include/libfud.hpp @@ -51,8 +51,8 @@ FUD fud(); Result<String, FudStatus> getEnv(const char* name); template <typename T> -concept CStringRepr = requires(T a) { - { a.c_str() } -> std::convertible_to<const char*>; +concept CStringRepr = requires(T strObj) { + { strObj.c_str() } -> std::convertible_to<const char*>; }; template <CStringRepr T> |