|
| template<class... Args, class = typename std::enable_if< std::is_constructible<T, Args...>::value>::type> |
| | Cow (Args &&...args) |
| | 构造函数,使用可变参数构造内部数据。
|
| | Cow () |
| | 默认构造函数。
|
| | Cow (const Cow &)=default |
| | 默认的拷贝构造函数。
|
| | Cow (Cow &&)=default |
| | 默认的移动构造函数。
|
| Cow & | operator= (const Cow &)=default |
| | 默认的拷贝赋值函数。
|
| Cow & | operator= (Cow &&)=default |
| | 默认的移动赋值函数。
|
| | Cow (const T &t) |
| | 从已有对象拷贝构造 Cow。
|
| | Cow (T &&t) |
| | 从已有对象移动构造 Cow。
|
| Cow & | operator= (const T &t) |
| | 赋值运算符。
|
| Cow & | operator= (T &&t) |
| | 移动赋值运算符。
|
| void | detach () |
| | 分离内部数据,确保只有一个共享指针。
|
| const T & | reader () const |
| | 读取数据的常量引用。
|
| const T & | r () const |
| | 读取数据的常量引用。
|
| T & | writer () |
| | 获取数据的引用,用于写入操作。
|
| T & | w () |
| | 获取数据的引用,用于写入操作。
|
| template<class F> |
| auto | read (F &&f) const -> decltype(f(reader())) |
| | 读取数据的通用函数。
|
| template<class F> |
| auto | r (F &&f) const -> decltype(f(r())) |
| | 读取数据的通用函数。
|
| template<class F> |
| auto | write (F &&f) -> decltype(f(writer())) |
| | 写入数据的通用函数。
|
| template<class F> |
| auto | w (F &&f) -> decltype(f(w())) |
| | 写入数据的通用函数。
|
| const std::shared_ptr< T > & | data () const |
| | 获取数据的共享指针。
|
template<class T>
class console::Cow< T >
写时复制数据类。
- Template Parameters
-