userver: userver/utils/optionals.hpp Source File
Loading...
Searching...
No Matches
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