aboutsummaryrefslogtreecommitdiffstats
path: root/util/generic/maybe.cpp
blob: e1df937a8bb247a5dc87a48e5fb9a0d914c1539e (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)";
}