@@ -753,11 +753,12 @@ auto makeEmptyTable()
753753 return b.finalize ();
754754}
755755
756- template <typename ... Cs>
757- auto makeEmptyTable (const char * name, framework::pack<Cs...> p)
756+
757+ template <PackLike P>
758+ auto makeEmptyTable (const char * name)
758759{
759760 TableBuilder b;
760- [[maybe_unused]] auto writer = b.cursor (p );
761+ [[maybe_unused]] auto writer = b.cursor (P{} );
761762 b.setLabel (name);
762763 return b.finalize ();
763764}
@@ -772,7 +773,7 @@ auto spawner(std::shared_ptr<arrow::Table> const& fullTable, const char* name, o
772773{
773774 using placeholders_pack_t = typename o2::aod::MetadataTrait<D>::metadata::placeholders_pack_t ;
774775 if (fullTable->num_rows () == 0 ) {
775- return makeEmptyTable (name, placeholders_pack_t {} );
776+ return makeEmptyTable< placeholders_pack_t > (name);
776777 }
777778 return spawnerHelper (fullTable, schema, framework::pack_size (placeholders_pack_t {}), projectors, name, projector);
778779}
@@ -791,7 +792,7 @@ auto spawner(std::shared_ptr<arrow::Table> const& fullTable, const char* name, e
791792{
792793 using expression_pack_t = typename o2::aod::MetadataTrait<D>::metadata::expression_pack_t ;
793794 if (fullTable->num_rows () == 0 ) {
794- return makeEmptyTable (name, expression_pack_t {} );
795+ return makeEmptyTable< expression_pack_t > (name);
795796 }
796797 return spawnerHelper (fullTable, schema, framework::pack_size (expression_pack_t {}), projectors, name, projector);
797798}
@@ -805,12 +806,12 @@ auto spawner(std::vector<std::shared_ptr<arrow::Table>>&& tables, const char* na
805806}
806807
807808template <typename ... C>
808- auto spawner (framework::pack<C...>, std::vector<std::shared_ptr<arrow::Table>>&& tables, const char * name, expressions::Projector* projectors, std::shared_ptr<gandiva::Projector>& projector, std::shared_ptr<arrow::Schema> const & schema)
809+ auto spawner (framework::pack<C...> columns , std::vector<std::shared_ptr<arrow::Table>>&& tables, const char * name, expressions::Projector* projectors, std::shared_ptr<gandiva::Projector>& projector, std::shared_ptr<arrow::Schema> const & schema)
809810{
810811 std::array<const char *, 1 > labels{" original" };
811812 auto fullTable = soa::ArrowHelpers::joinTables (std::move (tables), std::span<const char * const >{labels});
812813 if (fullTable->num_rows () == 0 ) {
813- return makeEmptyTable (name, framework::pack<C...>{} );
814+ return makeEmptyTable< decltype (columns)>(name );
814815 }
815816 return spawnerHelper (fullTable, schema, sizeof ...(C), projectors, name, projector);
816817}
0 commit comments