-
support for std::vector<T> columns in columnar tools This is fairly straightforward in xAOD mode, but in columnar mode it is somewhat involved, as it needs both a data column and an offset column. Beyond that, the handling of type conversions requires a custom range adapter. This MR doesn't quite demonstrate the need for type conversions, but they will be needed for std::vector<ElementLink<T>>, in a subsequent MR. One thing I'm not 100% sure about is whether the type ought to be std::vector<T> or use a custom type for this purpose. In the prototype I had used columnar::ColumnVector<T>, but that may create more confusion than it removes. The main concern about using std::vector<T> is that the user doesn't receive an std::vector<T> but an std::span<T> or other range type. Still, in many regards they behave like a vector and reusing the STL type may be clearer.
support for std::vector<T> columns in columnar tools This is fairly straightforward in xAOD mode, but in columnar mode it is somewhat involved, as it needs both a data column and an offset column. Beyond that, the handling of type conversions requires a custom range adapter. This MR doesn't quite demonstrate the need for type conversions, but they will be needed for std::vector<ElementLink<T>>, in a subsequent MR. One thing I'm not 100% sure about is whether the type ought to be std::vector<T> or use a custom type for this purpose. In the prototype I had used columnar::ColumnVector<T>, but that may create more confusion than it removes. The main concern about using std::vector<T> is that the user doesn't receive an std::vector<T> but an std::span<T> or other range type. Still, in many regards they behave like a vector and reusing the STL type may be clearer.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
VectorExampleTool.cxx 1.84 KiB