1#ifndef NEFORCE_TUI_DOM_REF_HPP__
2#define NEFORCE_TUI_DOM_REF_HPP__
14NEFORCE_BEGIN_NAMESPACE__
43 explicit ref(T value) :
44 storage_(_NEFORCE
move(value)) {}
50 explicit ref(T* ptr) :
94 *pointer() = _NEFORCE
move(v);
96 value() = _NEFORCE
move(v);
105 NEFORCE_NODISCARD
bool holds_pointer() const noexcept {
return storage_.index() == 1; }
110 NEFORCE_NODISCARD T& value() {
return _NEFORCE
get<0>(storage_); }
111 NEFORCE_NODISCARD
const T& value()
const {
return _NEFORCE
get<0>(storage_); }
112 NEFORCE_NODISCARD T* pointer()
const {
return _NEFORCE get<1>(storage_); }
135 storage_(_NEFORCE
move(value)) {}
150 return *_NEFORCE
get<1>(storage_);
152 return _NEFORCE
get<0>(storage_);
171 NEFORCE_NODISCARD
bool holds_pointer() const noexcept {
return storage_.index() == 1; }
231NEFORCE_END_NAMESPACE__
const T & operator*() const
解引用
const T * operator->() const
成员访问
bool holds_pointer() const noexcept
检查是否绑定外部指针
const T & operator()() const
调用运算符
const_ref(const T *ptr)
从常量指针构造
const_string_ref(string_view sv)
从 string_view 构造
const_string_ref(const char *s)
从 C 字符串构造
const T & operator*() const
常量解引用
const T * operator->() const
常量成员访问
ref & operator=(T v)
赋值(同时写入绑定的外部变量)
bool holds_pointer() const noexcept
检查是否绑定外部指针
string_ref(const wchar_t *ws)
从宽字符串构造
string_ref(const char *s)
从 C 字符串构造
string_ref(string_view sv)
从 string_view 构造
enable_if_t< is_void_v< T >, future_result_t< T > > get(future< T > &f)
通用future结果获取函数
constexpr Iterator2 move(Iterator1 first, Iterator1 last, Iterator2 result) noexcept(noexcept(inner::__move_aux(first, last, result)))
移动范围元素
basic_string< char > string
字符字符串
basic_string_view< char > string_view
字符字符串视图
constexpr string to_string(const CharT &c)
将字符转换为普通字符串