userver: userver/utils/optionals.hpp Source File
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
optionals.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/utils/optionals.hpp
4/// @brief Helper functions for std optionals
5/// @ingroup userver_universal
6
7#include <optional>
8#include <string>
9
10#include <fmt/compile.h>
11#include <fmt/format.h>
12
13USERVER_NAMESPACE_BEGIN
14
15namespace utils {
16
17/// Converts std::optional to a string, empty value represented as "--"
18template <class T>
19std::string ToString(const std::optional<T>& from) {
20 return from ? fmt::format(FMT_COMPILE(" {}"), *from) : "--";
21}
22
23} // namespace utils
24
25USERVER_NAMESPACE_END