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().   | |
| void | Close () | 
| Flush() and make the file non-writable: close it.   | |
| void | Flush () | 
| Save all objects associated with this directory (including file header) to the storage medium.   | |
| template<class T > | |
| std::unique_ptr< T > | Read (std::string_view name) | 
| Read the object for a key.   | |
| void | Write (std::string_view name) | 
| Write an object that is already lifetime managed by this RFileImplBase.   | |
| template<class T > | |
| void | Write (std::string_view name, const T &obj) | 
| Write an object that is not lifetime managed by this RFileImplBase.   | |
| template<class T > | |
| void | Write (std::string_view name, const T *obj) | 
| Write an object that is not lifetime managed by this RFileImplBase.   | |
| 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.   | |
  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.   | |
| 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).   | |
| Internal::RDirectoryEntry | Find (std::string_view name) const | 
| Find the RDirectoryEntry associated to the name.   | |
| template<class T > | |
| std::pair< Internal::RDirectoryEntry, EFindStatus > | Find (std::string_view name) const | 
| Find the RDirectoryEntry associated with the name.   | |
| template<class T > | |
| std::shared_ptr< ToContentType_t< T > > | Get (std::string_view name) | 
| Get the object for a key.   | |
| bool | Remove (std::string_view name) | 
| Remove entry from RDirectory (if exists)   | |
Static Public Member Functions | |
| static std::string | GetCacheDir () | 
| Get the directory used for cached reads.   | |
| static std::string | SetCacheDir (std::string_view path) | 
| Set the new directory used for cached reads, returns the old directory.   | |
Generator functions  | |
| static RFilePtr | Open (std::string_view name, const Options_t &opts=Options_t()) | 
Open a file with name for reading.   | |
| static RFilePtr | OpenForUpdate (std::string_view name, const Options_t &opts=Options_t()) | 
Open an existing file with name for reading and writing.   | |
| static RFilePtr | Create (std::string_view name, const Options_t &opts=Options_t()) | 
Open a file with name for reading and writing.   | |
| static RFilePtr | Recreate (std::string_view name, const Options_t &opts=Options_t()) | 
Open a file with name for reading and writing.   | |
  Static Public Member Functions inherited from ROOT::Experimental::RDirectory | |
| static RDirectory & | Heap () | 
| Dedicated, process-wide RDirectory.   | |
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.   | |
Private Attributes | |
| std::unique_ptr< Internal::RFileStorageInterface > | fStorage | 
| Storage backend.   | |
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 | 
      
  | 
  private |