3#ifndef AWKWARD_RDATAFRAME_JAGGED_BUILDERS_H_
4#define AWKWARD_RDATAFRAME_JAGGED_BUILDERS_H_
17 CppBuffers(ROOT::RDF::RResultPtr<std::vector<T>>& result)
23 template<
class BUILDER>
24 const std::map<std::string, size_t>&
26 builder.buffer_nbytes(map_names_nbytes_);
27 return map_names_nbytes_;
31 append(
const std::string& key, uint8_t* ptr) {
32 buffers_uint8_ptr_[key] = ptr;
37 std::cout <<
"CPPBuffers check buffers: " << buffers_uint8_ptr_.size() <<
".";
38 for (
auto const& it : buffers_uint8_ptr_) {
39 uint8_t* data = it.second;
40 for (
int i = 0; i < map_names_nbytes_[it.first]; i++) {
41 std::cout << (int64_t)data[i] <<
",";
44 std::cout << std::endl;
47 template<
class BUILDER,
typename PRIMITIVE>
49 fill_from(BUILDER& builder, ROOT::RDF::RResultPtr<std::vector<PRIMITIVE>>& result)
const {
50 for (
auto it : result) {
55 template<
class BUILDER>
58 builder.to_char_buffers(buffers_uint8_ptr_);
62 ROOT::RDF::RResultPtr<std::vector<T>>& result_;
63 std::map<std::string, size_t> map_names_nbytes_;
64 std::map<std::string, uint8_t*> buffers_uint8_ptr_;
Definition: jagged_builders.h:15
void fill_from(BUILDER &builder, ROOT::RDF::RResultPtr< std::vector< PRIMITIVE > > &result) const
Definition: jagged_builders.h:49
~CppBuffers()
Definition: jagged_builders.h:21
void check_buffers() const
Definition: jagged_builders.h:36
const std::map< std::string, size_t > & names_nbytes(BUILDER &builder)
Definition: jagged_builders.h:25
void append(const std::string &key, uint8_t *ptr)
Definition: jagged_builders.h:31
CppBuffers(ROOT::RDF::RResultPtr< std::vector< T > > &result)
Definition: jagged_builders.h:17
void to_char_buffers(BUILDER &builder)
Definition: jagged_builders.h:57
Definition: BitMaskedArray.h:15