[info] typeName = "std::vector<" numTemplateParams = 1 ctype = "SEQ_TYPE" header = "vector" ns = ["namespace std"] replaceTemplateParamIndex = [] allocatorIndex = 1 # underlyingContainerIndex = 0 [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%)); SAVE_DATA((uintptr_t)&container); SAVE_DATA((uintptr_t)container.capacity()); SAVE_DATA((uintptr_t)container.size()); SAVE_SIZE((container.capacity() - container.size()) * sizeof(T)); // The double ampersand is needed otherwise this loop doesn't work with vector for (auto&& it: container) { getSizeType(it, returnArg); } } """