|
||||
Warning, file /include/root/TInterpreterValue.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 // @(#)root/core/meta:$Id$e 0002 // Author: Vassil Vassilev 13/03/2013 0003 0004 /******************************************************************************* 0005 * Copyright (C) 1995-2013, Rene Brun and Fons Rademakers. * 0006 * All rights reserved. * 0007 * * 0008 * For the licensing terms see $ROOTSYS/LICENSE. * 0009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 0010 ******************************************************************************/ 0011 0012 //////////////////////////////////////////////////////////////////////////////// 0013 // // 0014 // Class representing a value coming from the interpreter. Its main use case // 0015 // is to TCallFunc. When TCallFunc returns by-value, i.e. a temporary // 0016 // variable, its lifetime has to be extended. TInterpreterValue provides a // 0017 // way to extend the temporaries lifetime and gives the user to control it. // 0018 // // 0019 // The class needs to be derived from for the actual interpreter, // 0020 // see TClingValue. // 0021 // // 0022 //////////////////////////////////////////////////////////////////////////////// 0023 0024 #ifndef ROOT_TInterpreterValue 0025 #define ROOT_TInterpreterValue 0026 0027 #include "RtypesCore.h" 0028 0029 #include <string> 0030 #include <utility> 0031 0032 class TInterpreterValue { 0033 private: 0034 TInterpreterValue(const TInterpreterValue &) = delete; 0035 TInterpreterValue& operator=(TInterpreterValue &) = delete; 0036 public: 0037 TInterpreterValue() { } 0038 virtual ~TInterpreterValue() { } 0039 0040 virtual const void* GetValAddr() const = 0; 0041 virtual void* GetValAddr() = 0; 0042 virtual std::pair<std::string, std::string> ToTypeAndValueString() const = 0; 0043 0044 virtual Bool_t IsValid() const = 0; 0045 virtual Double_t GetAsDouble() const = 0; 0046 virtual Long_t GetAsLong() const = 0; 0047 virtual ULong_t GetAsUnsignedLong() const = 0; 0048 virtual void* GetAsPointer() const = 0; 0049 virtual std::string ToString() const = 0; 0050 }; 0051 0052 #endif // ROOT_TInterpreterValue
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |