updated build system

This commit is contained in:
2024-08-31 13:35:03 -05:00
parent ce5ceeb53b
commit 556c798a70
2 changed files with 39 additions and 39 deletions

View File

@ -62,14 +62,6 @@ template <typename result_t, typename data_t>
[[nodiscard]] inline constexpr auto
divide_with_ceiling(result_t numerator, data_t denominator) -> result_t;
#if defined(PROJECT_ENABLE_LIBSODIUM)
template <typename data_t>
[[nodiscard]] inline auto generate_random() -> data_t;
template <typename data_t>
[[nodiscard]] inline auto generate_random(std::size_t size) -> data_t;
#endif // defined(PROJECT_ENABLE_LIBSODIUM)
template <typename data_t>
[[nodiscard]] inline auto generate_random_between(data_t begin,
data_t end) -> data_t;
@ -78,6 +70,14 @@ template <typename data_t>
[[nodiscard]] auto generate_random_wstring(std::size_t length) -> std::wstring;
#if defined(PROJECT_ENABLE_LIBSODIUM)
template <typename data_t>
[[nodiscard]] inline auto generate_secure_random() -> data_t;
template <typename data_t>
[[nodiscard]] inline auto generate_secure_random(std::size_t size) -> data_t;
#endif // defined(PROJECT_ENABLE_LIBSODIUM)
[[nodiscard]] auto
get_environment_variable(std::string_view variable) -> std::string;
@ -106,26 +106,6 @@ inline constexpr auto divide_with_ceiling(result_t numerator,
: (numerator / denominator) + (numerator % denominator != 0);
}
#if defined(PROJECT_ENABLE_LIBSODIUM)
template <typename data_t> inline auto generate_random() -> data_t {
static_assert(!is_collection<std::decay_t<data_t>>::value,
"data_t is a vector or collection");
data_t ret{};
randombytes_buf(&ret, sizeof(ret));
return ret;
}
template <typename data_t>
inline auto generate_random(std::size_t size) -> data_t {
static_assert(is_collection<std::decay_t<data_t>>::value,
"data_t is not a vector or collection");
data_t ret;
ret.resize(size);
randombytes_buf(ret.data(), ret.size() * sizeof(typename data_t::value_type));
return ret;
}
#endif // defined(PROJECT_ENABLE_LIBSODIUM)
template <typename data_t>
inline auto generate_random_between(data_t begin, data_t end) -> data_t {
static_assert(std::is_integral_v<std::remove_cv_t<data_t>>,
@ -138,6 +118,26 @@ inline auto generate_random_between(data_t begin, data_t end) -> data_t {
std::uniform_int_distribution<data_t> dis(begin, end);
return dis(gen);
}
#if defined(PROJECT_ENABLE_LIBSODIUM)
template <typename data_t> inline auto generate_secure_random() -> data_t {
static_assert(!is_collection<std::decay_t<data_t>>::value,
"data_t is a vector or collection");
data_t ret{};
randombytes_buf(&ret, sizeof(ret));
return ret;
}
template <typename data_t>
inline auto generate_secure_random(std::size_t size) -> data_t {
static_assert(is_collection<std::decay_t<data_t>>::value,
"data_t is not a vector or collection");
data_t ret;
ret.resize(size);
randombytes_buf(ret.data(), ret.size() * sizeof(typename data_t::value_type));
return ret;
}
#endif // defined(PROJECT_ENABLE_LIBSODIUM)
} // namespace repertory::utils
#endif // REPERTORY_INCLUDE_UTILS_COMMON_HPP_