#include <sstream>
#include <cstdlib>
#include <cstdint>
#include <iomanip>
#include <chrono>
#include <format>
#include <string>
#include <fstream>
#include <filesystem>
#include <functional>
#include "native.h"
#include <asio.hpp>
#include "logo.hpp"
#include <spdlog/spdlog.h>
#include <absl/container/flat_hash_map.h>
#include <absl/container/flat_hash_set.h>
Go to the source code of this file.
Namespaces | |
namespace | dcn |
namespace | dcn::utils |
Macros | |
#define | STRINGIFY(x) #x |
#define | TOSTRING(x) STRINGIFY(x) |
Functions | |
std::string | dcn::utils::loadBuildTimestamp (const std::filesystem::path &path) |
std::string | dcn::utils::currentTimestamp () |
asio::awaitable< void > | dcn::utils::watchdog (std::chrono::steady_clock::time_point &deadline) |
Suspends the coroutine until the given deadline is reached. | |
asio::awaitable< void > | dcn::utils::ensureOnStrand (const asio::strand< asio::io_context::executor_type > &strand) |
std::string | dcn::utils::escapeSolSrcQuotes (const std::string &json) |
template<class DataT , class ChildT , template< typename... > class ChildListT> | |
std::vector< std::string > | dcn::utils::topologicalSort (const absl::flat_hash_map< std::string, DataT > &data, std::function< ChildListT< ChildT >(const DataT &)> get_childreen, std::function< std::string(const ChildT &)> get_child_name) |
#define STRINGIFY | ( | x | ) | #x |
#define TOSTRING | ( | x | ) | STRINGIFY(x) |