无类型的连续内存容器
Untyped contiguous memory container
我正在编写一个事件总线,我需要一个 std::vector 动态容器。容器本身不是类型感知的,但从中存储和检索对象是类型感知的,因此每个容器都保证具有相同类型的对象。 (有类型到索引的映射)。
我想知道是否有 STL 或增强工具可以帮助解决这个问题。我想避免使用 placement new 并直接处理对齐。
boost::any 解决了大部分问题,但调用者需要知道类型。
std::raw_storage_iterator
或许 std::get_temporary_buffer
也有帮助。不过,它们的级别低于 std::vector
。例如,参见 cpp reference。
我正在编写一个事件总线,我需要一个 std::vector 动态容器。容器本身不是类型感知的,但从中存储和检索对象是类型感知的,因此每个容器都保证具有相同类型的对象。 (有类型到索引的映射)。
我想知道是否有 STL 或增强工具可以帮助解决这个问题。我想避免使用 placement new 并直接处理对齐。
boost::any 解决了大部分问题,但调用者需要知道类型。
std::raw_storage_iterator
或许 std::get_temporary_buffer
也有帮助。不过,它们的级别低于 std::vector
。例如,参见 cpp reference。