tmay.hpp File Reference
#include "indep/macro/byeolMeta.hpp"
#include "indep/macro/declThis.hpp"
#include "indep/macro/unconstFunc.hpp"
#include "indep/helper/typeTrait.hpp"
#include "indep/helper/tmedium.inl"
#include <optional>

Go to the source code of this file.

Classes

class  by::tmay< T >
 Optional value wrapper with byeol-style interface. More...
 
struct  by::typeTrait< tmay< T > >
 
struct  by::typeTrait< tmay< T > & >
 

Functions

template<typename T , typename F >
tmedium< T > by::operator| (T *t, F &&f)
 
template<typename T , typename F >
tmedium< T > by::operator| (const T *t, F &&f)
 
template<typename T , typename F >
T & by::operator| (tmay< T > &t, F &&f)
 
template<typename T , typename F >
const T & by::operator| (const tmay< T > &t, F &&f)
 
template<typename T , typename F >
tmay< T > by::operator| (tmay< T > &&t, F &&f)
 
template<typename T , typename F >
auto by::operator->* (tmay< T > &t, F &&f) -> decltype(typeTrait< decltype(f(*t))>::ret())
 
template<typename T , typename F >
auto by::operator->* (const tmay< T > &t, F &&f) -> decltype(typeTrait< decltype(f(*t))>::ret())
 
template<typename T , typename F >
auto by::operator->* (tmay< T > &&t, F &&f) -> decltype(typeTrait< decltype(f(*t))>::ret())