mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
+TCore/CalcNode.h+cpp: added int64 variant for CalcNode::Calc & CalcContext::Evaluate
git-svn-id: svn://ultimatepp.org/upp/trunk@4193 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
5237588657
commit
08af408078
2 changed files with 18 additions and 0 deletions
|
|
@ -613,6 +613,12 @@ int CalcContext::EvaluateInt(String expr)
|
|||
return !!node ? node->CalcInt(*this) : int(Null);
|
||||
}
|
||||
|
||||
int64 CalcContext::EvaluateInt64(String expr)
|
||||
{
|
||||
CalcNodePtr node = CalcParser().ScanVoid(expr);
|
||||
return !!node ? node->CalcInt64(*this) : int(Null);
|
||||
}
|
||||
|
||||
Date CalcContext::EvaluateDate(String expr)
|
||||
{
|
||||
CalcNodePtr node = CalcParser().ScanVoid(expr);
|
||||
|
|
@ -1047,6 +1053,16 @@ int CalcNode::CalcInt(CalcContext& context) const
|
|||
return v;
|
||||
}
|
||||
|
||||
int64 CalcNode::CalcInt64(CalcContext& context) const
|
||||
{
|
||||
if(this == 0)
|
||||
return Null;
|
||||
Value v = Calc(context);
|
||||
if(!IsNull(v) && !IsNumber(v))
|
||||
throw Exc(t_("Number expected, found: ") + context.FormatNull(v));
|
||||
return v;
|
||||
}
|
||||
|
||||
Date CalcNode::CalcDate(CalcContext& context) const
|
||||
{
|
||||
if(this == 0)
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ public:
|
|||
double CalcDouble(CalcContext& context) const;
|
||||
String CalcString(CalcContext& context) const;
|
||||
int CalcInt(CalcContext& context) const;
|
||||
int64 CalcInt64(CalcContext& context) const;
|
||||
Date CalcDate(CalcContext& context) const;
|
||||
Time CalcTime(CalcContext& context) const;
|
||||
bool CalcBool(CalcContext& context) const;
|
||||
|
|
@ -348,6 +349,7 @@ public:
|
|||
double EvaluateDouble(String expr);
|
||||
String EvaluateString(String expr);
|
||||
int EvaluateInt(String expr);
|
||||
int64 EvaluateInt64(String expr);
|
||||
Date EvaluateDate(String expr);
|
||||
Time EvaluateTime(String expr);
|
||||
bool EvaluateBool(String expr, bool null_value = false);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue