aboutsummaryrefslogtreecommitdiffstats
path: root/util/generic/maybe.cpp
blob: 4d90243795ea32a354743472b33b5d40a2e36907 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "maybe.h"
#include <util/system/type_name.h>

[[noreturn]] void NMaybe::TPolicyUndefinedExcept::OnEmpty(const std::type_info& valueTypeInfo) {
    ythrow yexception() << "TMaybe is empty, value type: "sv << TypeName(valueTypeInfo);
} 
 
[[noreturn]] void NMaybe::TPolicyUndefinedFail::OnEmpty(const std::type_info& valueTypeInfo) {
    const TString typeName = TypeName(valueTypeInfo);
    Y_FAIL("TMaybe is empty, value type: %s", typeName.c_str());
} 
 
template <>
void Out<TNothing>(IOutputStream& o, const TNothing&) {
    o << "(empty maybe)";
}