Первый набор имеет набор типов:
Редактировать (исправил ваш пост) Но используйте здесь абстрактный тип, чтобы продемонстрировать, как он работает лучше.
std::vector<boost::tuple<A, B, C> > day;
// Load data into day;
Теперь вы можете извлечь эти части набораиспользуя метод get.
A& aPart = day[0].get<0>();
B& bPart = day[0].get<1>();
C& cPart = day[0].get<2>();