MtFmt 1.0.0
MtFmt is a format library on embed. system and wrote by pure C.
载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | Protected 类型 | Protected 成员函数 | Protected 属性 | Private 属性
mtfmt::details::result_trivial_base< T, E > 模板类 参考

结果类型的基类(trivial type) 更多...

#include <mm_result.hpp>

Public 类型

using value_type = T
 
using error_type = E
 
using reference_value_type = T &
 
using reference_error_type = E &
 
using const_reference_value_type = const T &
 
using const_reference_error_type = const E &
 

Public 成员函数

constexpr result_trivial_base (T succ_val)
 从succ value构造
 
constexpr result_trivial_base (E err_val)
 从err value构造
 
 result_trivial_base (result_trivial_base &&)=default
 
 result_trivial_base (const result_trivial_base &)=default
 
result_trivial_baseoperator= (result_trivial_base &&)=default
 
result_trivial_baseoperator= (const result_trivial_base &)=default
 
 ~result_trivial_base ()=default
 

Protected 类型

enum class  TypeTag { SuccTag = 0 , ErrorTag = 1 }
 类型标签 更多...
 

Protected 成员函数

const_reference_value_type unsafe_get_succ_value () const noexcept
 
const_reference_error_type unsafe_get_err_value () const noexcept
 
reference_value_type unsafe_get_succ_value_mut () noexcept
 
reference_error_type unsafe_get_err_value_mut () noexcept
 

Protected 属性

TypeTag type_tag
 类型标签
 

Private 属性

union { 
 
   T   t_val 
 
   E   e_val 
 
};  
 

详细描述

template<typename T, typename E>
class mtfmt::details::result_trivial_base< T, E >

结果类型的基类(trivial type)

注解
trivial type有copy ctor, copy assign等一系列的内容, 所以不需要检查啦

成员类型定义说明

◆ const_reference_error_type

template<typename T , typename E >
using mtfmt::details::result_trivial_base< T, E >::const_reference_error_type = const E&

◆ const_reference_value_type

template<typename T , typename E >
using mtfmt::details::result_trivial_base< T, E >::const_reference_value_type = const T&

◆ error_type

template<typename T , typename E >
using mtfmt::details::result_trivial_base< T, E >::error_type = E

◆ reference_error_type

template<typename T , typename E >
using mtfmt::details::result_trivial_base< T, E >::reference_error_type = E&

◆ reference_value_type

template<typename T , typename E >
using mtfmt::details::result_trivial_base< T, E >::reference_value_type = T&

◆ value_type

template<typename T , typename E >
using mtfmt::details::result_trivial_base< T, E >::value_type = T

成员枚举类型说明

◆ TypeTag

类型标签

枚举值
SuccTag 
ErrorTag 

构造及析构函数说明

◆ result_trivial_base() [1/4]

template<typename T , typename E >
constexpr mtfmt::details::result_trivial_base< T, E >::result_trivial_base ( T  succ_val)
inlineconstexpr

从succ value构造

◆ result_trivial_base() [2/4]

template<typename T , typename E >
constexpr mtfmt::details::result_trivial_base< T, E >::result_trivial_base ( E  err_val)
inlineconstexpr

从err value构造

◆ result_trivial_base() [3/4]

template<typename T , typename E >
mtfmt::details::result_trivial_base< T, E >::result_trivial_base ( result_trivial_base< T, E > &&  )
default

◆ result_trivial_base() [4/4]

template<typename T , typename E >
mtfmt::details::result_trivial_base< T, E >::result_trivial_base ( const result_trivial_base< T, E > &  )
default

◆ ~result_trivial_base()

成员函数说明

◆ operator=() [1/2]

◆ operator=() [2/2]

◆ unsafe_get_err_value()

template<typename T , typename E >
const_reference_error_type mtfmt::details::result_trivial_base< T, E >::unsafe_get_err_value ( ) const
inlineprotectednoexcept

◆ unsafe_get_err_value_mut()

template<typename T , typename E >
reference_error_type mtfmt::details::result_trivial_base< T, E >::unsafe_get_err_value_mut ( )
inlineprotectednoexcept

◆ unsafe_get_succ_value()

template<typename T , typename E >
const_reference_value_type mtfmt::details::result_trivial_base< T, E >::unsafe_get_succ_value ( ) const
inlineprotectednoexcept

◆ unsafe_get_succ_value_mut()

template<typename T , typename E >
reference_value_type mtfmt::details::result_trivial_base< T, E >::unsafe_get_succ_value_mut ( )
inlineprotectednoexcept

结构体成员变量说明

◆ [union]

◆ e_val

◆ t_val

◆ type_tag

template<typename T , typename E >
TypeTag mtfmt::details::result_trivial_base< T, E >::type_tag
protected

类型标签


该类的文档由以下文件生成: