]> gitweb.factorcode.org Git - factor.git/blob - vm/generic_arrays.hpp
Fix conflict
[factor.git] / vm / generic_arrays.hpp
1 namespace factor
2 {
3
4 template<typename T> cell array_capacity(T *array)
5 {
6 #ifdef FACTOR_DEBUG
7         assert(array->h.hi_tag() == T::type_number);
8 #endif
9         return array->capacity >> TAG_BITS;
10 }
11
12 template <typename T> cell array_size(cell capacity)
13 {
14         return sizeof(T) + capacity * T::element_size;
15 }
16
17 template <typename T> cell array_size(T *array)
18 {
19         return array_size<T>(array_capacity(array));
20 }
21
22 }