32 template <
typename T1,
typename T2>
33 class pack_for_file_storage
39 explicit pack_for_file_storage(
size_t s) : m_data(s) {};
40 void pack(T1 t1,
size_t i) { m_data[i] =
static_cast<pack_type
>(t1); }
41 void pack(T2 t2,
size_t i) { m_data[i] =
static_cast<pack_type
>(t2); };
42 pack_type peek(
size_t i)
const {
return m_data[i]; }
45 vector<pack_type> m_data;
52 pack_for_file_storage<float, long> pp{100};
53 pack_for_file_storage<float, long>::pack_type p;
typename select< T1, T2,(sizeof(T1)< sizeof(T2))>::type type
Compute type with smallest memory size.