Open ferdymercury opened 2 years ago
- [ ] "./keyword" search keyword in help information
IIUC, the intended use of this is to lookup documentation for a specific language keyword, as in, e.g. ./for
should open a browser window pointing to https://en.cppreference.com/w/cpp/language/for?
- [ ] ".l" for printing list of local variables (".g" does exist already for printing the list of global variables)
Not sure whether this is useful, though.
IIUC, the intended use of this is to lookup documentation for a specific language keyword, as in, e.g.
./for
should open a browser window pointing to https://en.cppreference.com/w/cpp/language/for?
Nope, in CINT, it was acting rather as a 'search' keyword to match for predefined functions.
If I open ROOT 5.34/34, and I type ./for, I get:
root -b
*******************************************
* *
* W E L C O M E to R O O T *
* *
* Version 5.34/34 2 October 2015 *
* *
* You are welcome to visit our Web site *
* http://root.cern.ch *
* *
*******************************************
ROOT 5.34/34 (v5-34-34@v5-34-34, Oct 02 2015, 16:30:37 on linuxx8664gcc)
CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0] ./for
size_t strftime(char *string,size_t maximum,char *format,struct tm*brokentime);
int fprintf(FILE *fp,char *format,arglist,...);
int printf(char *format,arglist,...);
int sprintf(char *string,char *format,arglist,...);
int fscanf(FILE *fp,char *format,arglist,...);
int scanf(char *format,arglist,...);
int sscanf(char *string,char *format,arglist,...);
(C++ compiled) class TClass public:TDictionary //Dictionary containing class information
(C++ compiled) class TBuffer public:TObject //Buffer base class used for serializing objects
(C++ compiled) class TMemberInspector //ABC for inspecting class data members
(C++ compiled) class TNamed public:TObject //The basis for a named object (name, title)
(C++ compiled) class TVirtualPerfStats public:TObject //ABC for collecting PROOF statistics
(C++ compiled) class THashList public:TList //Doubly linked list with hashtable for lookup
(C++ compiled) class TFileInfo public:TNamed //Describes generic file info including meta data information
(C++ compiled) class TVirtualMonitoringWriter public:TNamed //ABC for Sending Monitoring Information
(C++ compiled) class TVirtualMonitoringReader public:TNamed //ABC for Reading Monitoring Information
(C++ compiled) class TObjectSpy public:TObject //Spy object pointer for deletion
(C++ compiled) class TObjectRefSpy public:TObject //Spy object reference for deletion
(C++ compiled) class TMethod public:TFunction //Dictionary for a class member function (method)
(C++ compiled) class TQObject //Base class for object communication mechanism
(C++ compiled) class TFunction public:TDictionary //Dictionary for global function
(C++ compiled) class TPluginManager public:TObject //Manager for plugin handlers
(C++ compiled) class TPluginHandler public:TObject //Handler for plugin libraries
(C++ compiled) class TTask public:TNamed //Base class for tasks
(C++ compiled) class TQCommand public:TList public:TQObject //encapsulates the information for undo/redo a single action.
(C++ compiled) class TQUndoManager public:TQCommand //recorder of operations for undo and redo
(C++ compiled) class TSysEvtHandler public:TObject public:TQObject //ABC for handling system events
(C++ compiled) struct SysInfo_t //System information - OS, CPU, RAM.
(C++ compiled) struct CpuInfo_t //CPU load information.
(C++ compiled) struct MemInfo_t //Memory utilization information.
(C++ compiled) class TVirtualPad public:TObject public:TAttLine public:TAttFill public:TAttPad public:TQObject //Abstract base class for Pads and Canvases
(C++ compiled) class TPMERegexp protected:TPRegexp //Wrapper for Perl-like regular expression matching.
(C++ compiled) class TStringToken public:TString //String tokenizer using PCRE for finding next tokens.
(C++ compiled) class TClassGenerator public:TObject //interface for TClass generators
(C++ compiled) class TROOT public:TDirectory //Top level (or root) structure for all classes
(C++ compiled) class TVirtualStreamerInfo public:TNamed //Abstract Interface describing Streamer information for one class
(C++ compiled) class TStreamerElement public:TNamed //Base class for one element (data member) to be Streamed
(C++ compiled) class TVirtualFFT public:TObject //abstract interface for FFT calculations
(C++ compiled) class TVirtualPadEditor //Abstract interface for graphics pad editor
(C++ compiled) class TMethodArg public:TDictionary //Dictionary for a method argument
(C++ compiled) class TToggle public:TNamed //Facility for toggling datamembers on/off
(C++ compiled) class TVirtualPadPainter //Painter interface for pad.
(C++ compiled) class TVirtualGLPainter //Interface for OpenGL painter
(C++ compiled) class TVirtualGLManip //Interface for GL manipulator
(C++ compiled) class TGLManager public:TNamed //Interface for OpenGL manager
(C++ compiled) class TGLPaintDevice //Base class for GL widgets and GL off-screen rendering
(C++ compiled) class TGuiFactory public:TNamed //Abstract factory for GUI components
(C++ compiled) class TAttBBox //Helper for management of bounding-box information
(C++ compiled) class TDictAttributeMap public:TObject //Container for name/value pairs of TDictionary attributes
(C++ compiled) class TDataMember public:TDictionary //Dictionary for a class data member
(C++ compiled) class TStreamerBasicType public:TStreamerElement //Streamer element for a basic type
(C++ compiled) class TStreamerBasicPointer public:TStreamerElement //Streamer element for a pointer to a basic type
(C++ compiled) class TStreamerLoop public:TStreamerElement //Streamer element for a pointer to an array of objects
(C++ compiled) class TStreamerArtificial public:TStreamerElement //StreamerElement injected by a TSchemaRule. Transient only to preverse forward compatibility.
(C++ compiled) class TTabCom //Perform command line completion when hitting <TAB>
/opt/root/root_v5.34.34/lib/libMathCore.so -1 class ROOT::Math::MinimTransformFunction public:ROOT::Math::IGradientFunctionMultiDim
/opt/root/root_v5.34.34/lib/libMathCore.so -1 class ROOT::Math::MinimTransformVariable
/opt/root/root_v5.34.34/lib/libMathCore.so -1 class TVirtualFitter public:TNamed //Abstract interface for fitting
TMVA::VariableDecorrTransform
TMVA::VariableGaussTransform
TMVA::VariableIdentityTransform
TMVA::VariableNormalizeTransform
TMVA::VariablePCATransform
TMVA::VariableRearrangeTransform
TMVA::VariableTransformBase
TSpectrum2Transform
TSpectrumTransform
ROOT::Math::Transform3D
TGeoUniformMagField
class ROOT::Math::SinVariableTransformation
class ROOT::Math::SqrtLowVariableTransformation
class ROOT::Math::SqrtUpVariableTransformation
class auto_ptr<ROOT::Math::MinimizerVariableTransformation>
class vector<ROOT::Math::MinimTransformVariable,allocator<ROOT::Math::MinimTransformVariable> >
class reverse_iterator<vector<ROOT::Math::MinimTransformVariable,allocator<ROOT::Math::MinimTransformVariable> >::iterator>
(compiled) typedef void *ClassStreamerFunc_t //Streamer function for a class
(compiled) typedef void *MemberStreamerFunc_t //Streamer function for a data member
/opt/root/root_v5.34.34/lib/libMathCore.so -1 typedef auto_ptr<ROOT::Math::MinimizerVariableTransformation> ROOT::Math::MinimTransformVariable::auto_ptr<MinimizerVariableTransformation>
/opt/root/root_v5.34.34/lib/libMathCore.so -1 typedef ROOT::Math::IGradientFunctionMultiDim ROOT::Math::MinimTransformFunction::BaseGradFunc
/opt/root/root_v5.34.34/lib/libMathCore.so -1 typedef ROOT::Math::IBaseFunctionMultiDim ROOT::Math::MinimTransformFunction::BaseFunc
/opt/root/root_v5.34.34/lib/libMathCore.so -1 typedef vector<ROOT::Math::MinimTransformVariable,allocator<ROOT::Math::MinimTransformVariable> > vector<MinimTransformVariable>
/opt/root/root_v5.34.34/lib/libMathCore.so -1 typedef reverse_iterator<vector<ROOT::Math::MinimTransformVariable,allocator<ROOT::Math::MinimTransformVariable> >::iterator> vector<ROOT::Math::MinimTransformVariable,allocator<ROOT::Math::MinimTransformVariable> >::reverse_iterator<const_iterator>
/opt/root/root_v5.34.34/lib/libMathCore.so -1 typedef reverse_iterator<vector<ROOT::Math::MinimTransformVariable,allocator<ROOT::Math::MinimTransformVariable> >::iterator> vector<ROOT::Math::MinimTransformVariable,allocator<ROOT::Math::MinimTransformVariable> >::reverse_iterator<iterator>
/opt/root/root_v5.34.34/lib/libMathCore.so -1 typedef vector<ROOT::Math::MinimTransformVariable,allocator<ROOT::Math::MinimTransformVariable> > vector<ROOT::Math::MinimTransformVariable>
/opt/root/root_v5.34.34/lib/libMathCore.so -1 typedef ROOT::Math::IntegrationOneDim::Type ROOT::Math::IntegratorOneDim::Type //for the enumerations defining the types
/opt/root/root_v5.34.34/lib/libMathCore.so -1 typedef auto_ptr<ROOT::Math::IBaseFunctionOneDim> ROOT::Math::IntegratorOneDim::auto_ptr<IGenFunction> //for the enumerations defining the types
(compiled) 0:0 0 public: int snprintf(char* string,size_t length,const char* format ...);
A more useful example:
./Fill
(C++ compiled) class TVirtualPad public:TObject public:TAttLine public:TAttFill public:TAttPad public:TQObject //Abstract base class for Pads and Canvases
(C++ compiled) class TStyle public:TNamed public:TAttLine public:TAttFill public:TAttMarker public:TAttText //A collection of all graphics attributes
(C++ compiled) class TAttFill //Fill area attributes
(C++ compiled) class TVirtualPS public:TNamed public:TAttLine public:TAttFill public:TAttMarker public:TAttText //Abstract interface to a PostScript driver
(C++ compiled) class TVirtualX public:TNamed public:TAttLine public:TAttFill public:TAttText public:TAttMarker //ABC defining a generic interface to graphics system
TAttFillEditor
(compiled) 0xa623d0 const EGuiConstants kFillSolid=0
(compiled) 0xa62570 const EGuiConstants kFillTiled=1
(compiled) 0xa62710 const EGuiConstants kFillStippled=2
(compiled) 0xa628b0 const EGuiConstants kFillOpaqueStippled=3
(compiled) 0x7f16f7ae022c const Mask_t kGCFillStyle=256
(compiled) 0x7f16f7ae0228 const Mask_t kGCFillRule=512
for local variables: https://root-forum.cern.ch/t/mapping-local-variables-into-cint/1141
Explain what you would like to see improved
Some legacy CINT commands are not available for Cling, but could be quite useful, like:
Optional: share how it could be improved
Rescue from CINT the ones considered most useful.
Reminder:
Setup
Additional context
https://github.com/root-project/root/issues/10065 Here is the full list of ROOTv5.34: