[info] type_name = "std::pair" ctype = "PAIR_TYPE" header = "utility" # Old: typeName = "std::pair<" ns = ["namespace std"] numTemplateParams = 2 replaceTemplateParamIndex = [] [codegen] decl = """ template void getSizeType(const %1% &container, size_t& returnArg); """ func = """ template void getSizeType(const %1% &container, size_t& returnArg) { SAVE_SIZE(sizeof(%1%) - sizeof(P) - sizeof(Q)); getSizeType(container.first, returnArg); getSizeType(container.second, returnArg); } """ handler = """ template struct TypeHandler> { using type = StaticTypes::Pair::type, typename TypeHandler::type>; static StaticTypes::Unit getSizeType( const %1% & container, typename TypeHandler>::type returnArg) { return OIInternal::getSizeType( container.second, returnArg.delegate([&container](auto ret) { return OIInternal::getSizeType(container.first, ret); }) ); } }; """