Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TRYMLTree Class Reference

Definition at line 24 of file RYMLParser.h.

Classes

class  Impl
class  Node

Public Member Functions

 TRYMLTree ()
 TRYMLTree (std::istream &is)
 ~TRYMLTree () override
void clearcache ()
Nodeincache (const Node &n)
const char * incache (const std::string &str)
Noderootnode () override

Static Public Member Functions

static std::unique_ptr< JSONTreecreate ()
static std::unique_ptr< JSONTreecreate (std::istream &is)
static std::unique_ptr< JSONTreecreate (std::string const &str)
static std::string getBackend ()
 Returns the name of the library that serves as the backend for the JSON interface, which is either "nlohmann-json" or "rapidyaml".
static bool hasBackend (std::string const &name)
 Check if ROOT was compiled with support for a certain JSON backend library.
static void setBackend (std::string const &name)
 Set the library that serves as the backend for the JSON interface.

Protected Attributes

std::list< Node_nodecache
std::list< std::string > _strcache
std::unique_ptr< Impltree

Private Types

enum class  Backend { NlohmannJson , Ryml }

Static Private Member Functions

template<typename... Args>
static std::unique_ptr< JSONTreecreateImpl (Args &&...args)
static BackendgetBackendEnum ()

#include </home/stephan/code/root-2/roofit/jsoninterface/src/RYMLParser.h>

Inheritance diagram for TRYMLTree:
RooFit::Detail::JSONTree

Member Enumeration Documentation

◆ Backend

enum class RooFit::Detail::JSONTree::Backend
strongprivateinherited
Enumerator
NlohmannJson 
Ryml 

Definition at line 218 of file JSONInterface.h.

Constructor & Destructor Documentation

◆ TRYMLTree() [1/2]

TRYMLTree::TRYMLTree ( )

Definition at line 136 of file RYMLParser.cxx.

◆ ~TRYMLTree()

TRYMLTree::~TRYMLTree ( )
override

Definition at line 141 of file RYMLParser.cxx.

◆ TRYMLTree() [2/2]

TRYMLTree::TRYMLTree ( std::istream & is)

Definition at line 131 of file RYMLParser.cxx.

Member Function Documentation

◆ clearcache()

void TRYMLTree::clearcache ( )

Definition at line 326 of file RYMLParser.cxx.

◆ create() [1/3]

std::unique_ptr< JSONTree > RooFit::Detail::JSONTree::create ( )
staticinherited

Definition at line 92 of file JSONInterface.cxx.

◆ create() [2/3]

std::unique_ptr< JSONTree > RooFit::Detail::JSONTree::create ( std::istream & is)
staticinherited

Definition at line 97 of file JSONInterface.cxx.

◆ create() [3/3]

std::unique_ptr< JSONTree > RooFit::Detail::JSONTree::create ( std::string const & str)
staticinherited

Definition at line 102 of file JSONInterface.cxx.

◆ createImpl()

template<typename... Args>
std::unique_ptr< JSONTree > RooFit::Detail::JSONTree::createImpl ( Args &&... args)
staticprivateinherited

Definition at line 80 of file JSONInterface.cxx.

◆ getBackend()

std::string RooFit::Detail::JSONTree::getBackend ( )
staticinherited

Returns the name of the library that serves as the backend for the JSON interface, which is either "nlohmann-json" or "rapidyaml".

Returns
Backend name as a string.

Definition at line 133 of file JSONInterface.cxx.

◆ getBackendEnum()

JSONTree::Backend & RooFit::Detail::JSONTree::getBackendEnum ( )
staticprivateinherited

Definition at line 124 of file JSONInterface.cxx.

◆ hasBackend()

bool RooFit::Detail::JSONTree::hasBackend ( std::string const & name)
staticinherited

Check if ROOT was compiled with support for a certain JSON backend library.

Parameters
[in]nameName of the backend.

Definition at line 110 of file JSONInterface.cxx.

◆ incache() [1/2]

TRYMLTree::Node & TRYMLTree::incache ( const Node & n)

Definition at line 319 of file RYMLParser.cxx.

◆ incache() [2/2]

const char * TRYMLTree::incache ( const std::string & str)

Definition at line 312 of file RYMLParser.cxx.

◆ rootnode()

TRYMLTree::Node & TRYMLTree::rootnode ( )
overridevirtual

Implements RooFit::Detail::JSONTree.

Definition at line 159 of file RYMLParser.cxx.

◆ setBackend()

void RooFit::Detail::JSONTree::setBackend ( std::string const & name)
staticinherited

Set the library that serves as the backend for the JSON interface.

Note that the "rapidyaml" backend is only supported if rapidyaml was found on the system when ROOT was compiled.

Parameters
[in]nameName of the backend, can be either "nlohmann-json" or "rapidyaml".

Definition at line 141 of file JSONInterface.cxx.

Member Data Documentation

◆ _nodecache

std::list<Node> TRYMLTree::_nodecache
protected

Definition at line 69 of file RYMLParser.h.

◆ _strcache

std::list<std::string> TRYMLTree::_strcache
protected

Definition at line 68 of file RYMLParser.h.

◆ tree

std::unique_ptr<Impl> TRYMLTree::tree
protected

Definition at line 27 of file RYMLParser.h.


The documentation for this class was generated from the following files: