标签: fancy-pointers

实现带有与 STL 容器一起使用的精美指针的分配器有哪些要求?

我正在尝试实现一个分配器,它允许我使用带有 STL 类型的boost::interprocess::offset_ptr的“花哨”指针

\n

作为一个独立的模板,指针本身工作得很好,但我很难让它与std::vectorboost::containers::vector

\n

我为指针实现的事情列表是:

\n
template<class T>\nclass OffsetPtr ...\n
Run Code Online (Sandbox Code Playgroud)\n
    \n
  • 来自 T*、T& 的构造函数
  • \n
  • 比较 <=、<、!=、==、>=、>=
  • \n
  • 解引用运算符* & 运算符->
  • \n
  • 任务
  • \n
  • 指针算术 ++、--、-、+、+=、-=
  • \n
  • 显式运算符 bool () const;
  • \n
  • 布尔运算符!() 常量;
  • \n
  • 使用 iterator_category = std::random_access_iterator_tag;
  • \n
  • 从 OffsetPtr(T) -> OffsetPtr(const T) 转换
  • \n
  • 重新绑定从 OffsetPtr(T) 到 OffsetPtr(U) 的转换
  • \n
  • 移动语义 - 尽管我认为这种类型实际上应该是不可移动的。
  • \n
  • 指针特征
  • \n
  • 随机访问迭代器要求
  • \n
  • 迭代器特征
  • \n
  • 原始指针和我的奇特指针之间的转换
  • \n
  • 与 nullptr 和 nullptr_t 的比较和转换
  • \n …

c++ templates allocator fancy-pointers

7
推荐指数
1
解决办法
480
查看次数

标签 统计

allocator ×1

c++ ×1

fancy-pointers ×1

templates ×1