#include "ROOT/RFile.hxx"#include <ROOT/StringUtils.hxx>#include <ROOT/RError.hxx>#include <Byteswap.h>#include <TError.h>#include <TFile.h>#include <TIterator.h>#include <TKey.h>#include <TList.h>#include <TROOT.h>#include <algorithm>#include <cstring>Functions | |
| static RNameCycleResult | DecodeNameCycle (std::string_view nameCycleRaw) |
| static ENameCycleError | DecodeNumericCycle (const char *str, std::optional< std::int16_t > &out) |
| static void | EnsureFileOpenAndBinary (const TFile *tfile, std::string_view path) |
| static std::string | ReconstructFullKeyPath (const TKey &key) |
| static const char * | ToString (ENameCycleError err) |
| static std::string | ValidateAndNormalizePath (std::string &path) |
| This function first validates, then normalizes the given path in place. | |
|
static |
|
static |
This function first validates, then normalizes the given path in place.
Returns an empty string if path is a suitable path to store an object into a RFile, otherwise returns a description of why that is not the case.
A valid object path must:
In addition, when writing an object to RFile, the character ';' is also banned.
Passing an invalid path to Put will cause it to throw an exception, and passing an invalid path to Get will always return nullptr.
If required, path is modified to make its hierarchy-related meaning consistent. This entails: