11 #ifndef ROOT_TIO_FEATURES
12 #define ROOT_TIO_FEATURES
16 #include <initializer_list>
21 #include <type_traits>
32 enum class EIOFeatures {
37 namespace Experimental {
45 enum class EIOFeatures {
46 kGenerateOffsetMap = BIT(0),
47 kSupported = kGenerateOffsetMap
54 enum class EIOUnsupportedFeatures {
64 friend class ::TBranch;
65 friend class ::TBasket;
70 void Clear(EIOFeatures bits);
71 void Clear(Experimental::EIOUnsupportedFeatures bits);
72 void Clear(Experimental::EIOFeatures bits);
73 bool Set(EIOFeatures bits);
74 bool Set(Experimental::EIOFeatures bits);
75 bool Set(
const std::string &);
76 bool Test(EIOFeatures bits)
const;
77 bool Test(Experimental::EIOFeatures bits)
const;
78 bool Test(Experimental::EIOUnsupportedFeatures bits)
const;
82 static constexpr
int kIOFeatureCount = 1;
89 TIOFeatures(UChar_t IOBits) : fIOBits(IOBits) {}
90 UChar_t GetFeatures()
const;
91 void Set(UChar_t newBits) {fIOBits = newBits;}
98 #endif // ROOT_TIO_FEATURES