Создание / восстановление базы данных из резервной копии SQL Server Express

Мы используем boost.any как тип несущей для контейнера с переменным типом с маркировкой. Вот что это значит:

У нас есть объект «плот», который проходит через набор фильтров. Когда фильтр хочет добавить данные на плот, он может сделать что-то вроде этого:

raft.addTaggedData<ETag1>(3.0);
raft.addTaggedData<ETag2>("a string")`;
std::string str = raft.getTaggedData<ETag2>();
int a = raft.getTaggedData<ETag1>(); // <-- Compile error

Где ETag1 и ETag2 являются членами перечисления, и мы используем шаблон признаков для сопоставления теги к типам.

Класс raft использует list из pair<ETagType, boost::any> в качестве хранилища резервных копий. Boost.any спасли нам боль от управления буферами сырья для разных типов.

23
задан Shahin 2 June 2011 в 17:06
поделиться