object-introspection/types/folly_small_heap_vector_map.toml

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

37 lines
1.1 KiB
TOML
Raw Normal View History

2022-12-19 14:37:51 +00:00
[info]
type_name = "folly::small_heap_vector_map"
2022-12-19 14:37:51 +00:00
ctype = "FOLLY_SMALL_HEAP_VECTOR_MAP"
header = "folly/container/heap_vector_types.h"
# Old:
typeName = "folly::small_heap_vector_map"
2022-12-19 14:37:51 +00:00
ns = ["folly::small_heap_vector_map"]
numTemplateParams = 2
2022-12-19 14:37:51 +00:00
replaceTemplateParamIndex = []
[codegen]
decl = """
template <typename Key, typename Value, typename SizeType, class Container, typename E>
void getSizeType(const %1%<Key,Value,SizeType,Container,E> &container, size_t& returnArg);
"""
func = """
template <typename Key, typename Value, typename SizeType, class Container, typename E>
void getSizeType(const %1%<Key,Value,SizeType,Container,E> &container, size_t& returnArg)
{
SAVE_SIZE(sizeof(%1%<Key, Value, SizeType, Container, E>));
SAVE_DATA((uintptr_t)&container);
SAVE_DATA((uintptr_t)container.capacity());
SAVE_DATA((uintptr_t)container.size());
SAVE_SIZE((container.capacity() - container.size()) * (sizeof(Key) + sizeof(Value)));
for (auto const& it : container)
{
getSizeType(it.first, returnArg);
getSizeType(it.second, returnArg);
}
}
"""