30namespace Experimental {
65 template<
typename T,
typename... ArgsT>
67 auto ptr = std::make_shared<T>(std::forward<ArgsT>(args)...);
75 if (
v.GetField()->GetName() == fieldName)
82 T*
Get(std::string_view fieldName) {
84 if (
v.GetField()->GetName() == fieldName) {
86 return static_cast<T*
>(
v.GetRawPtr());
Detail::RFieldValue CaptureValue(void *where) final
Creates a value from a memory location with an already constructed object.
The REntry is a collection of values in an ntuple corresponding to a complete row in the data set.
T * Get(std::string_view fieldName)
REntry & operator=(const REntry &other)=delete
std::vector< std::shared_ptr< void > > fValuePtrs
The objects involed in serialization and deserialization might be used long after the entry is gone: ...
std::vector< std::size_t > fManagedValues
Points into fValues and indicates the values that are owned by the entry and need to be destructed.
void AddValue(const Detail::RFieldValue &value)
Adds a value whose storage is managed by the entry.
Detail::RFieldValue GetValue(std::string_view fieldName)
decltype(fValues)::iterator Iterator_t
std::shared_ptr< T > AddValue(RField< T > *field, ArgsT &&... args)
While building the entry, adds a new value to the list and return the value's shared pointer.
void CaptureValue(const Detail::RFieldValue &value)
Adds a value whose storage is not managed by the entry.
REntry(const REntry &other)=delete
std::vector< Detail::RFieldValue > fValues
Classes with dictionaries that can be inspected by TClass.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...