无类型的连续内存容器

Untyped contiguous memory container

我正在编写一个事件总线,我需要一个 std::vector 动态容器。容器本身不是类型感知的,但从中存储和检索对象是类型感知的,因此每个容器都保证具有相同类型的对象。 (有类型到索引的映射)。

我想知道是否有 STL 或增强工具可以帮助解决这个问题。我想避免使用 placement new 并直接处理对齐。

boost::any 解决了大部分问题,但调用者需要知道类型。

std::raw_storage_iterator 或许 std::get_temporary_buffer 也有帮助。不过,它们的级别低于 std::vector。例如,参见 cpp reference