70 template <
typename ValueType>
G4AnyType(ValueType &value):
132 virtual const std::type_info&
TypeInfo()
const = 0;
136 virtual void*
Address()
const = 0;
138 virtual std::string
ToString()
const = 0;
140 virtual void FromString(
const std::string& val) = 0;
149 return typeid(ValueType);
157 return (
void*) (&
fRef);
161 std::stringstream ss;
167 std::stringstream ss(val);
188 if (val[0] ==
'"' ) fRef = val.substr(1,val.size()-2);
207 virtual const char*
what()
const throw() {
208 return "G4BadAnyCast: failed conversion using any_cast";
214 return operand && operand->
TypeInfo() ==
typeid(ValueType)
virtual ~Placeholder()
Destructor.
Ref(ValueType &value)
Constructor.
ValueType & fRef
representation
G4BadAnyCast()
Constructor.
G4AnyType(const G4AnyType &other)
Copy Constructor.
virtual Placeholder * Clone() const
Clone.
void * Address() const
Adress.
virtual const std::type_info & TypeInfo() const
Query.
virtual void FromString(const std::string &val)=0
FromString.
virtual const char * what() const
Query.
const std::type_info & TypeInfo() const
Query.
static G4ThreeVector ConvertTo3Vector(const char *st)
G4AnyType(ValueType &value)
Constructor.
virtual void * Address() const =0
Query.
void FromString(const std::string &val)
String conversion.
static int operand(pchar begin, pchar end, double &result, pchar &endp, const dic_type &dictionary)
std::string ToString() const
String conversion.
bool Empty() const
Query.
static G4bool ConvertToBool(const char *st)
Placeholder()
Constructor.
friend ValueType * any_cast(G4AnyType *)
representation
This class represents any data type.
G4AnyType & Swap(G4AnyType &rhs)
Modifier.
Placeholder * fContent
representation
virtual std::string ToString() const
ToString.
virtual std::string ToString() const =0
ToString.
virtual const std::type_info & TypeInfo() const =0
Query.
ValueType * any_cast(G4AnyType *operand)
value
virtual void * Address() const
Address.
virtual void FromString(const std::string &val)
FromString.
G4AnyType & operator=(const ValueType &rhs)
Modifier.
virtual Placeholder * Clone() const =0
Query.