Я бы хотел показать некоторые объекты как абстрактные контейнеры с возможностями манипуляции в стиле stl (for_each циклы, итераторы) и скрыть детали реализации контейнера.
Проблемы с производительностью не имеют значения (допустимы виртуальные вызовы и даже выделение памяти при копировании «универсального» итератора).
Я собираюсь написать абстрактный интерфейс контейнера с чистыми виртуальными функциями (+ «универсальный» итератор над контейнером) и адаптер реализации для последовательных контейнеров stl.
Но, может быть, для этой цели есть полезные существующие библиотеки?
Или это совсем плохая идея?