Patch level : 12.0 nopatch

Files correlati     :
Commento        :

defmask macro per espressioni nelle maschere
This commit is contained in:
Alessandro Bonazzi 2021-07-27 14:24:44 +02:00
parent e24a265644
commit cdf70fee9a
2 changed files with 36 additions and 2 deletions

View File

@ -226,12 +226,12 @@ TArray& objptr2array(TObject* obj);
///////////////////////////////////////////////////////////
// TString_array
///////////////////////////////////////////////////////////
#define STRING_TOKEN(obj) (obj == nullptr ? EMPTY_STRING : *(TString *) obj)
#ifndef __STRINGS_H
class TToken_string;
#endif
#define STRING_TOKEN(obj) (obj == nullptr ? EMPTY_STRING : *(TToken_string *) obj)
// @doc EXTERNAL
// @class TString_array | Array di stringhe

View File

@ -124,5 +124,39 @@
#define STR_CALC VALIDATE STRCALC_FUNC 1
#define THIS_FIELD 0
#define THIS 0
#define CANCELLETTO #
#define RIF_FIELD(FLD) CANCELLETTO FLD
#define RIF_THIS_FIELD RIF_FIELD(0)
#define RIF_THIS RIF_FIELD(0)
#define FLD_EMPTY(FLD) (RIF_FIELD(FLD)=="")
#define FLD_FULL(FLD) (RIF_FIELD(FLD)!="")
#define THIS_EMPTY (RIF_THIS=="")
#define THIS_FULL (RIF_THIS!="")
#define EQ_IF_SET(FLD) STR_EXPR (THIS_EMPTY||(RIF_THIS==RIF_FIELD(FLD)))
#define GT_IF_SET(FLD) STR_EXPR (THIS_EMPTY||(RIF_THIS>RIF_FIELD(FLD)))
#define GE_IF_SET(FLD) STR_EXPR (THIS_EMPTY||(RIF_THIS>=RIF_FIELD(FLD)))
#define LT_IF_SET(FLD) STR_EXPR (THIS_EMPTY||(RIF_THIS<RIF_FIELD(FLD)))
#define LE_IF_SET(FLD) STR_EXPR (THIS_EMPTY||(RIF_THIS<=RIF_FIELD(FLD)))
#define EQ(FLD) STR_EXPR (RIF_THIS==RIF_FIELD(FLD))
#define GT(FLD) STR_EXPR (RIF_THIS>RIF_FIELD(FLD))
#define GE(FLD) STR_EXPR (RIF_THIS>=RIF_FIELD(FLD))
#define LT(FLD) STR_EXPR (RIF_THIS<RIF_FIELD(FLD))
#define LE(FLD) STR_EXPR (RIF_THIS<=RIF_FIELD(FLD))
#define NUM_EQ_IF_SET(FLD) NUM_EXPR (THIS_EMPTY||(RIF_THIS==RIF_FIELD(FLD)))
#define NUM_GT_IF_SET(FLD) NUM_EXPR (THIS_EMPTY||(RIF_THIS>RIF_FIELD(FLD)))
#define NUM_GE_IF_SET(FLD) NUM_EXPR (THIS_EMPTY||(RIF_THIS>=RIF_FIELD(FLD)))
#define NUM_LT_IF_SET(FLD) NUM_EXPR (THIS_EMPTY||(RIF_THIS<RIF_FIELD(FLD)))
#define NUM_LE_IF_SET(FLD) NUM_EXPR (THIS_EMPTY||(RIF_THIS<=RIF_FIELD(FLD)))
#define NUM_EQ(FLD) NUM_EXPR (RIF_THIS==RIF_FIELD(FLD))
#define NUM_GT(FLD) NUM_EXPR (RIF_THIS>RIF_FIELD(FLD))
#define NUM_GE(FLD) NUM_EXPR (RIF_THIS>=RIF_FIELD(FLD))
#define NUM_LT(FLD) NUM_EXPR (RIF_THIS<RIF_FIELD(FLD))
#define NUM_LE(FLD) NUM_EXPR (RIF_THIS<=RIF_FIELD(FLD))
/* @END */
#endif // __DEFMASK_H