YSTest: addressof.hpp 文件参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

类 | 命名空间 | 类型定义 | 函数
addressof.hpp 文件参考
YBaseLib » YStandardExtend

一元操作符 & 和取指针的相关接口。 更多...

`#include "meta.hpp"`
`#include <memory>`
addressof.hpp 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

## 类

struct | ystdex::has_overloaded_addressof< _type >
| 判断是否存在合式重载 & 操作符接受指定类型的表达式。 更多...
struct | ystdex::has_no_overloaded_addressof< _type >
| 判断是否无法重载 & 操作符接受指定类型的表达式。 更多...

## 命名空间

| ystdex
| `<memory>` 特性测试宏。
| ystdex::details

## 类型定义

template<typename _type >
using | ystdex::details::addressof_mem_t = decltype(std::declval< const _type & >().operator&())
template<typename _type >
using | ystdex::details::addressof_free_t = decltype(operator&(std::declval< const _type & >()))

## 函数

template<typename _type >
enable_if_t< has_no_overloaded_addressof< _type >::value, _type * > | ystdex::addressof (_type &r)
| 尝试对非重载 operator& 提供 constexpr 的 std::addressof 替代。 更多...
template<typename _type , typename = enable_if_t<!has_no_overloaded_addressof<_type>::value>>
_type * | ystdex::addressof (_type &r)
template<class _type >
const _type * | ystdex::addressof (const _type &&)=delete
template<typename _type >
enable_if_t< or_< is_object< _type >, is_void< _type > >::value, void * > | ystdex::pvoid (_type *p)
| 取 `void*` 类型的指针。 更多...
template<typename _type >
enable_if_t< is_function< _type >::value, void * > | ystdex::pvoid (_type *p)
template<typename _type >
void * | ystdex::pvoid_ref (_type &&ref)

## 详细描述

一元操作符 & 和取指针的相关接口。

版本
  r228

作者
  FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  build 660

创建时间:
  2015-12-17 10:07:56 +0800

修改时间:
  2019-08-10 14:32 +0800

文本编码:
  UTF-8

模块名称:
  YStandardEx::AddressOf

提供和一元操作符 & 相关的接口： 检查是否重载 operator& 的特征； 非重载时能有 constexpr 替代 ISO C++17 前 std::addressof 的 ystdex::addressof 。

在文件 addressof.hpp 中定义.