I would actually prefer if you used SGVector for this (cleaner interface!) (without reference counting obviously, but be careful on corrupted pointers on freeing the vectors, as usual)
This is all possible without views already