[info] typeName = "std::array<" numTemplateParams = 1 ctype = "ARRAY_TYPE" header = "array" ns = ["namespace std"] replaceTemplateParamIndex = [] # allocatorIndex = 0 # underlyingContainerIndex = 0 [codegen] decl = """ template void getSizeType(const %1% &container, size_t& returnArg); """ func = """ template void getSizeType(const %1% &container, size_t& returnArg) { SAVE_DATA((uintptr_t)container.size()); SAVE_SIZE(sizeof(container)); for (auto & it: container) { // undo the static size that has already been added per-element SAVE_SIZE(-sizeof(it)); getSizeType(it, returnArg); } } """