|
ROOT 6.18/05 Reference Guide |
A ROOT file.
A ROOT file is an object store: it can serialize any object for which ROOT I/O is available (generally: an object which has a dictionary), and it stores the object's data under a key name.
Classes | |
| struct | Options_t |
| Options for RFile construction. More... | |
Public Member Functions | |
| ~RFile () | |
| Must not call Write() of all attached objects: some might not be needed to be written or writing might be aborted due to an exception; require explicit Write(). More... | |
| void | Close () |
| Flush() and make the file non-writable: close it. More... | |
| void | Flush () |
| Save all objects associated with this directory (including file header) to the storage medium. More... | |
| template<class T > | |
| std::unique_ptr< T > | Read (std::string_view name) |
| Read the object for a key. More... | |
| void | Write (std::string_view name) |
| Write an object that is already lifetime managed by this RFileImplBase. More... | |
| template<class T > | |
| void | Write (std::string_view name, const T &obj) |
| Write an object that is not lifetime managed by this RFileImplBase. More... | |
| template<class T > | |
| void | Write (std::string_view name, const T *obj) |
| Write an object that is not lifetime managed by this RFileImplBase. More... | |
| template<class T > | |
| void | Write (std::string_view name, std::shared_ptr< T > &&obj) |
| Hand over lifetime management of an object to this RFileImplBase, and write it. More... | |
Public Member Functions inherited from ROOT::Experimental::RDirectory | |
| template<class T > | |
| void | Add (std::string_view name, const std::shared_ptr< T > &ptr) |
Add an existing object (rather a shared_ptr to it) to the RDirectory. More... | |
| template<class T , class... ARGS> | |
| std::shared_ptr< ToContentType_t< T > > | Create (std::string_view name, ARGS &&... args) |
Create an object of type T (passing some arguments to its constructor). More... | |
| Internal::RDirectoryEntry | Find (std::string_view name) const |
| Find the RDirectoryEntry associated to the name. More... | |
| template<class T > | |
| std::pair< Internal::RDirectoryEntry, EFindStatus > | Find (std::string_view name) const |
| Find the RDirectoryEntry associated with the name. More... | |
| template<class T > | |
| std::shared_ptr< ToContentType_t< T > > | Get (std::string_view name) |
| Get the object for a key. More... | |
Static Public Member Functions | |
| static std::string | GetCacheDir () |
| Get the directory used for cached reads. More... | |
| static std::string | SetCacheDir (std::string_view path) |
| Set the new directory used for cached reads, returns the old directory. More... | |
Generator functions | |
| static RFilePtr | Open (std::string_view name, const Options_t &opts=Options_t()) |
Open a file with name for reading. More... | |
| static RFilePtr | OpenForUpdate (std::string_view name, const Options_t &opts=Options_t()) |
Open an existing file with name for reading and writing. More... | |
| static RFilePtr | Create (std::string_view name, const Options_t &opts=Options_t()) |
Open a file with name for reading and writing. More... | |
| static RFilePtr | Recreate (std::string_view name, const Options_t &opts=Options_t()) |
Open a file with name for reading and writing. More... | |
Static Public Member Functions inherited from ROOT::Experimental::RDirectory | |
| static RDirectory & | Heap () |
| Dedicated, process-wide RDirectory. More... | |
Private Member Functions | |
| RFile (std::unique_ptr< Internal::RFileStorageInterface > &&storage) | |
| void | WriteMemoryWithType (std::string_view name, const void *address, TClass *cl) |
| Serialize the object at address, using the object's TClass. More... | |
Private Attributes | |
| std::unique_ptr< Internal::RFileStorageInterface > | fStorage |
| Storage backend. More... | |
Additional Inherited Members | |
Public Types inherited from ROOT::Experimental::RDirectory | |
| enum class | EFindStatus { kValidValue , kValidValueBase , kKeyNameNotFound , kTypeMismatch } |
| Status of the call to Find<T>(name). More... | |
#include <ROOT/RFile.hxx>
|
private |
|
default |
| void ROOT::Experimental::RFile::Close | ( | ) |
|
static |
| void ROOT::Experimental::RFile::Flush | ( | ) |
|
static |
|
static |
|
static |
|
inline |
Read the object for a key.
T must be the object's type. This will re-read the object for each call, returning a new copy; whether the RDirectory is managing an object attached to this key or not.
unique_ptr to the object. | RDirectoryUnknownKey | if no object is stored under this name. |
| RDirectoryTypeMismatch | if the object stored under this name is of a type different from T. |
|
static |
|
static |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |