18#include "cling/Interpreter/Value.h"
19#include "llvm/Support/raw_ostream.h"
25 assert(
sizeof(
fValue) >=
sizeof(cling::Value)
26 &&
"sizeof(fValue) too small!");
27 new (&
fValue) cling::Value();
32 assert(
sizeof(
fValue) >=
sizeof(cling::Value)
33 &&
"sizeof(fValue) too small!");
42 using namespace cling;
51 for (
size_t pos = 0; pos < output.size(); ++pos) {
52 if (output[pos] ==
'(')
54 else if (output[pos] ==
')') {
57 return std::make_pair(output.substr(0, pos + 1), output.substr(pos + 2));
61 return std::make_pair(
"", output);
65 return ToCV().isValid();
69 return ToCV().getDouble();
73 return ToCV().getLongLong();
77 return ToCV().getULongLong();
81 return ToCV().getPtr();
86 llvm::raw_string_ostream ost(retVal);
unsigned long ULong_t
Unsigned long integer 4 bytes (unsigned long). Size depends on architecture.
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
ULong_t GetAsUnsignedLong() const override
std::pair< std::string, std::string > ToTypeAndValueString() const override
TClingValue & operator=(TClingValue &Other)
struct TClingValue::HasTheSameSizeAsClingValue fValue
Bool_t IsValid() const override
void * GetAsPointer() const override
Long_t GetAsLong() const override
Double_t GetAsDouble() const override
std::string ToString() const override
TInterpreterValue(const TInterpreterValue &)=delete