YSTest: ystdex::make_widen_int< _type, _bSigned > 模板结构体 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Private 类型 | 所有成员列表
ystdex::make_widen_int< _type, _bSigned > 模板结构体 参考
Template Meta Programming » Meta Operations » Metafunctions | Traits » Type Traits Operations » Transformation Traits

位加倍扩展。 更多...

`#include <cstdint.hpp>`

## Public 类型

using | type = _t< make_signed_c< _t< make_width_int<(width::value<< 1)<=64 ? width::value<< 1 :width::value > >, _bSigned > >

## Private 类型

using | width = integer_width< _type >

## 详细描述

### template<typename _type, bool _bSigned = is_signed<_type>::value>
struct ystdex::make_widen_int< _type, _bSigned >

位加倍扩展。

自从
  build 587

注解
  可用于定点数乘除法中间类型。

待办事项:
  使用扩展整数类型保持 64 位类型精度。

在文件 cstdint.hpp 第 202 行定义.

## 成员类型定义说明

## ◆ type

template<typename _type , bool _bSigned = is_signed<_type>::value>

using ystdex::make_widen_int< _type, _bSigned >::type = _t<make_signed_c<_t<make_width_int<(width::value << 1) <= 64 ? width::value << 1 : width::value> >, _bSigned> >

在文件 cstdint.hpp 第 208 行定义.

## ◆ width

template<typename _type , bool _bSigned = is_signed<_type>::value>

using ystdex::make_widen_int< _type, _bSigned >::width = integer_width<_type>

private

在文件 cstdint.hpp 第 205 行定义.

该结构体的文档由以下文件生成:

- cstdint.hpp