Нет никакого способа сделать такое преобразование, поскольку разные shared_ptr
s не являются связанными типами.
Во-первых, действительно ли вы уверены, что вам нужно раскрыть детали реализации, что есть внутренний вектор общего доступа?указатели?Это действительно связывает вас с этой реализацией, и она не подлежит изменению, не нарушая API.
А как насчет использования предложения @ Cubbi и использования вашего интерфейса в качестве интеграторов с методами begin
и end
??Тогда вы можете легко представить контейнер внешним клиентам, не привязываясь к vector
.