18#define COMMON_USE_LENGTH_PREFIX_SERIALISER(TEMPLATE, T) \
19 TEMPLATE T CommonProto::Serialise< T >::read(const StoreDirConfig & store, CommonProto::ReadConn conn) \
21 return LengthPrefixedProtoHelper<CommonProto, T >::read(store, conn); \
23 TEMPLATE void CommonProto::Serialise< T >::write(const StoreDirConfig & store, CommonProto::WriteConn conn, const T & t) \
25 LengthPrefixedProtoHelper<CommonProto, T >::write(store, conn, t); \
28COMMON_USE_LENGTH_PREFIX_SERIALISER(template<typename T>, std::vector<T>)
29COMMON_USE_LENGTH_PREFIX_SERIALISER(template<typename T>, std::set<T>)
30COMMON_USE_LENGTH_PREFIX_SERIALISER(template<typename... Ts>, std::tuple<Ts...>)
33COMMON_USE_LENGTH_PREFIX_SERIALISER(
34 template<typename K COMMA_ typename V>,