#pragma once #include #include #include namespace util { template auto malloc(size_t size) noexcept -> Type * { return static_cast(::malloc(size)); } /** * Returns whether or not a string ends with the content of another string. * * @param target The string to compare the end of. * @param target_end The end position of the target string. * @param other The string to compare with. */ auto str_ends_with(const char *target, size_t target_end, const char *other) noexcept -> bool; /** * Extracts a portion of a string. * * @param str The target string. * @param end A pointer to a place inside the target string. * @param dest Output buffer. */ void substr(const char *str, const char *end, char *dest) noexcept; /** * Compares two strings. * * Wrapper function for strcmp. * * @param str_one The first string. * @param str_two The second string. * * @returns Whether or not the two strings contain the same content. */ auto streq(const char *str_one, const char *str_two) noexcept -> bool; void quit() noexcept; } // namespace util