If I understand you correctly, you are proposing the use of std::vector<> and no other containers, and doing this as augmentation to other methods. If that’s the case, I’m okay with it. I don’t think we are ready to start dealing with other container types, but we need to avoid becoming lazy and no longer create this augmentation pattern. However, is there a need to go into the code base and introduce std::vector<> throughout the code, what’s your take on consistency in API?
Because VTK is so array-based, augmenting methods with std::vector<> is consistent with VTK and probably quite useful. Plus, in the spirit of consistency, std::vector.data() provides another GetPointer() method, what could go wrong with that?
Also, are we going to limit the types T in std::vector to just the 13 fundamental types defined as part of the VTK API (in type.h)? And if there are constraints on T, how do we enforce this?
Best,