15 #ifndef ROOT7_TDirectoryEntry 16 #define ROOT7_TDirectoryEntry 25 namespace Experimental {
31 using clock_t = std::chrono::system_clock;
37 std::shared_ptr<void>
fObj;
71 explicit operator bool()
const {
return !!
fObj; }
79 return std::shared_ptr<U>(
fObj,
static_cast<U*
>(ptr));
80 return std::shared_ptr<U>();
Namespace for new ROOT classes and functions.
void swap(TDirectoryEntry &e1, TDirectoryEntry &e2) noexcept
TClass * GetType() const
Get the object's type.
const std::type_info * GetTypeInfo() const
std::shared_ptr< void > & GetPointer()
Retrieve the shared_ptr of the referenced object.
void swap(TDirectoryEntry &other) noexcept
std::chrono::system_clock clock_t
std::shared_ptr< void > fObj
TDirectoryEntry(const std::shared_ptr< T > &ptr)
const std::shared_ptr< void > & GetPointer() const
TDirectoryEntry(std::nullptr_t)
The ROOT global object gROOT contains a list of all defined classes.
const time_point_t & GetDate() const
Get the last change date of the entry.
std::shared_ptr< U > CastPointer() const
time_point_t fDate
Time of last change.
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
const std::type_info & GetTypeInfo() const
Type of the object represented by this entry.
void * DynamicCast(const TClass *base, void *obj, Bool_t up=kTRUE)
Cast obj of this class type up to baseclass cl if up is true.
void SetChanged()
Inform the entry that it has been modified, and needs to update its last-changed time stamp...
std::chrono::time_point< clock_t > time_point_t