mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-23 09:52:55 -06:00
mark Vector as internal
This commit is contained in:
@@ -2,12 +2,12 @@
|
|||||||
#define VECTOR_H
|
#define VECTOR_H
|
||||||
|
|
||||||
template <class A>
|
template <class A>
|
||||||
struct Vector {
|
struct PGF_INTERNAL Vector {
|
||||||
size_t len;
|
size_t len;
|
||||||
A data[];
|
A data[];
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class A> inline
|
template <class A> inline PGF_INTERNAL
|
||||||
ref<Vector<A>> vector_new(size_t len)
|
ref<Vector<A>> vector_new(size_t len)
|
||||||
{
|
{
|
||||||
ref<Vector<A>> res = PgfDB::malloc<Vector<A>>(len*sizeof(A));
|
ref<Vector<A>> res = PgfDB::malloc<Vector<A>>(len*sizeof(A));
|
||||||
@@ -15,7 +15,7 @@ ref<Vector<A>> vector_new(size_t len)
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class C, class A> inline
|
template <class C, class A> inline PGF_INTERNAL
|
||||||
ref<C> vector_new(Vector<A> C::* field, size_t len)
|
ref<C> vector_new(Vector<A> C::* field, size_t len)
|
||||||
{
|
{
|
||||||
ptrdiff_t offset = (ptrdiff_t) &(((C*) NULL)->*field);
|
ptrdiff_t offset = (ptrdiff_t) &(((C*) NULL)->*field);
|
||||||
@@ -24,13 +24,13 @@ ref<C> vector_new(Vector<A> C::* field, size_t len)
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class A> inline
|
template <class A> inline PGF_INTERNAL
|
||||||
ref<A> vector_elem(ref<Vector<A>> v, size_t index)
|
ref<A> vector_elem(ref<Vector<A>> v, size_t index)
|
||||||
{
|
{
|
||||||
return ref<A>::from_ptr(&v->data[index]);
|
return ref<A>::from_ptr(&v->data[index]);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class A> inline
|
template <class A> inline PGF_INTERNAL
|
||||||
A *vector_elem(Vector<A> *v, size_t index)
|
A *vector_elem(Vector<A> *v, size_t index)
|
||||||
{
|
{
|
||||||
return &v->data[index];
|
return &v->data[index];
|
||||||
|
|||||||
Reference in New Issue
Block a user