4#include <spdlog/spdlog.h>
5#include <spdlog/sinks/stdout_color_sinks.h>
6#include <spdlog/fmt/ostr.h>
8#include <box2d/box2d.h>
15#define _USE_MATH_DEFINES
18#if defined(__cpp_lib_span) && __cpp_lib_span >= 202002L
20 template<
class T>
using span_t = std::span<const T>;
23 template<
class T>
using span_t =
const std::vector<T>&;
28extern std::shared_ptr<spdlog::logger>
glogger;
33extern std::random_device
rd;
53[[nodiscard]]
constexpr bool contains(
const std::vector<T>& vec,
55 return std::find(vec.begin(), vec.end(), value) != vec.end();
73[[nodiscard]]
constexpr bool all_true(
const std::vector<bool>& flags) {
74 return std::ranges::all_of(flags, [](
bool v) {
return v; });
Class for managing hierarchical configuration parameters.
Definition configuration.h:64
std::shared_ptr< spdlog::logger > robotlogger
Global logger for robot-specific logging.
Definition utils.cpp:12
std::random_device rd
Random device used for seeding the random generator.
Definition utils.cpp:15
std::shared_ptr< spdlog::logger > glogger
Global logger for general logging.
Definition utils.cpp:11
std::string to_lowercase(std::string const &str)
Converts a string to lowercase.
Definition utils.cpp:72
constexpr bool all_true(const std::vector< bool > &flags)
Check whether every element in a std::vector<bool> is true.
Definition utils.h:73
bool string_to_bool(std::string const &str)
Converts a string to a boolean value.
Definition utils.cpp:57
std::string resolve_path(const std::string &inputPath)
Resolves an input file path to an absolute path.
Definition utils.cpp:127
void ensure_directories_exist(const std::string &filename)
Ensures that the directory for a given file exists.
Definition utils.cpp:79
const std::vector< T > & span_t
Definition utils.h:23
std::mt19937 rnd_gen
Random number generator seeded with rd.
void delete_files_with_extension(const std::string &path, const std::string &extension, bool recursive=false)
Deletes files with a specified extension in a given directory.
Definition utils.cpp:93
constexpr bool contains(const std::vector< T > &vec, const T &value)
Check whether a vector contains a given value.
Definition utils.h:53
void init_logger(Configuration &config)
Initializes the global loggers.
Definition utils.cpp:19
void loggers_add_file_sink(std::string const &filename)
Adds a file sink to the global loggers.
Definition utils.cpp:43