21 #include <experimental/string_view>
43 virtual void Flush() = 0;
49 void Write(
const std::string& ,
const T& ) {}
94 operator bool()
const {
return fImpl; }
98 TFilePtr(TCoopPtr<Internal::TFileImplBase>);
Namespace for new ROOT classes and functions.
TCoopPtr< Internal::TFileImplBase > fImpl
TFilePtr(TCoopPtr< Internal::TFileImplBase >)
Constructed by.
Base class for storage-specific ROOT file implementations.
static TFilePtr Create(std::string_view name)
Open a file with name for reading and writing.
Key/value store of objects.
static TFilePtr OpenForRead(std::string_view name)
Open a file with name for reading.
void Write(const std::string &, const T &)
virtual void Close()=0
Flush() and make the file non-writable: close it.
static TFilePtr OpenForUpdate(std::string_view name)
Open an existing file with name for reading and writing.
virtual void Flush()=0
Save all objects associated with this directory to the storage medium.
Internal::TFileImplBase * operator->()
Dereference the file pointer, giving access to the TFileImplBase object.
static TFilePtr Recreate(std::string_view name)
Open a file with name for reading and writing.
Pointer_t Get() const
Get the raw pointer.
Several pointers point to the same object, any of them can delete the object, setting all of them to ...