83 auto bits =
static_cast<UChar_t>(enum_bits);
85 Error(
"TestFeature",
"A feature is being cleared that is not supported.");
95 std::string retval =
"unknown";
97 TClass *cl = TBasket::Class();
103 if (eUnsupportedIOBits ==
nullptr) {
108 if (constant->GetValue() == flag) {
142 auto bits =
static_cast<UChar_t>(enum_bits);
146 Error(
"SetFeature",
"A feature was request (%s) but this feature is no longer supported.",
149 Error(
"SetFeature",
"An unknown feature was requested (flag=%s); cannot enable it.",
150 std::bitset<32>(unsupported).to_string().c_str());
174 TClass *cl = TBasket::Class();
176 Error(
"Set",
"Could not retrieve TBasket's class");
180 if (eIOBits ==
nullptr) {
181 Error(
"Set",
"Could not locate TBasket::EIOBits enum");
185 if (!strcmp(constant->GetName(), value.c_str())) {
189 Error(
"Set",
"Could not locate %s in TBasket::EIOBits", value.c_str());
199 TClass *cl = TBasket::Class();
201 Error(
"Print",
"Could not retrieve TBasket's class");
205 if (eIOBits ==
nullptr) {
206 Error(
"Print",
"Could not locate TBasket::EIOBits enum");
209 std::stringstream ss;
210 bool hasFeatures =
false;
211 ss <<
"TIOFeatures{";
213 if ((constant->GetValue() &
fIOBits) == constant->GetValue()) {
214 ss << (hasFeatures ?
", " :
"") << constant->GetName();
219 Printf(
"%s", ss.str().c_str());
242 auto bits =
static_cast<UChar_t>(enum_bits);
244 Error(
"TestFeature",
"A feature is being tested for that is not supported or known.");
247 return (
fIOBits & bits) == bits;
#define R__unlikely(expr)
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
static std::string GetUnsupportedName(TBasket::EUnsupportedIOBits enum_flag)
void Printf(const char *fmt,...)
UChar_t GetFeatures() const
void Print() const
Print a human-readable representation of the TIOFeatures to stdout.
bool Set(EIOFeatures bits)
Set a specific IO feature.
bool Test(EIOFeatures bits) const
Test to see if a given feature is set.
void Clear(EIOFeatures bits)
Clear a specific IO feature from this set.
TClass instances represent classes, structs and namespaces in the ROOT type system.
TList * GetListOfEnums(Bool_t load=kTRUE)
Return a list containing the TEnums of a class.
The TEnum class implements the enum type.
const TSeqCollection * GetConstants() const
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
virtual const char * GetName() const
Returns name of object.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...