move the C sources to the subfolder pgf again for backwards compatibility

This commit is contained in:
krangelov
2021-08-08 18:29:16 +02:00
parent f70e1b8772
commit 91f183ca6a
17 changed files with 16 additions and 17 deletions

View File

@@ -0,0 +1,32 @@
#ifndef VECTOR_H
#define VECTOR_H
template <class A>
struct PgfVector {
size_t len;
A data[];
};
template <class A> inline
ref<PgfVector<A>> vector_new(size_t len)
{
ref<PgfVector<A>> res = DB::malloc<PgfVector<A>>(sizeof(PgfVector<A>)+len*sizeof(A));
res->len = len;
return res;
}
template <class C, class A> inline
ref<C> vector_new(PgfVector<A> C::* field, size_t len)
{
ref<C> res = DB::malloc<C>(((size_t) &(((C*) NULL)->*field))+sizeof(PgfVector<A>)+len*sizeof(A));
(res->*field).len = len;
return res;
}
template <class A> inline
ref<A> vector_elem(ref<PgfVector<A>> v, size_t index)
{
return ref<A>::from_ptr(&v->data[index]);
}
#endif // VECTOR_H