30namespace Experimental {
63 template<
typename T,
typename... ArgsT>
65 auto ptr = std::make_shared<T>(std::forward<ArgsT>(args)...);
73 if (
v.GetField()->GetName() == fieldName)
82 if (
v.GetField()->GetName() == fieldName) {
84 return static_cast<T*
>(
v.GetRawPtr());
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 begin()
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.
decltype(fValues) ::iterator end()
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
Detail::RFieldValue CaptureValue(void *where) final
Creates a value from a memory location with an already constructed object.
Classes with dictionaries that can be inspected by TClass.
basic_string_view< char > string_view
Namespace for new ROOT classes and functions.