Simplified initial static asserts

Changed initial check to all static assertions
This commit is contained in:
William Katz 2021-06-07 08:23:36 -07:00 committed by GitHub
commit 5d88dde6c4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 11 deletions

View file

@ -1,5 +1,5 @@
#pragma once
// `max_log_size` must be divisible by `pre_log_size`
constexpr unsigned max_log_size = 100; // Setting to 0 does not compile logging
// Setting both values to 0 does not compile logging
constexpr unsigned max_log_size = 100;
constexpr unsigned pre_log_size = 10;

View file

@ -22,15 +22,9 @@ void SaveSig(int s)
int main(int argc, char **argv)
{
static_assert(pre_log_size <= max_log_size, "`max_log_size` must be larger than `pre_log_size`.");
if constexpr (max_log_size && pre_log_size)
{
if (max_log_size % pre_log_size)
{
std::cerr << "`max_log_size` must be a multiple of `pre_log_size`.";
return 0;
}
}
static_assert(bool(max_log_size) == bool(pre_log_size), "You must either utilize both or neither logging variables.\n");
static_assert(max_log_size >= pre_log_size, "The maximum log size must be larger than or equal to the amount preallocated.\n");
static_assert(!max_log_size || !(max_log_size % pre_log_size), "The maximum log size must be divisible by the preallocation size.\n");
if (argc != 4)
{