SNAP Library, User Reference  2012-10-02 12:56:23
SNAP, a general purpose network analysis and graph mining library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
exp.h File Reference

Go to the source code of this file.

Classes

class  TExpBi

Enumerations

enum  TExpValType {
  evtUndef, evtFlt, evtStr, evtVec,
  evtLst
}
enum  TExpFuncArgType {
  efatUndef, efatVoid, efatFlt, efatFltFlt,
  efatFltStr, efatStr, efatStrFlt, efatStrStr,
  efatStrAny
}
enum  TExpBiId {
  ebi_Undef, ebi_True, ebi_False, ebi_E,
  ebi_Pi, ebi_Sin, ebi_Cos, ebi_Tan,
  ebi_ASin, ebi_ACos, ebi_ATan, ebi_SinH,
  ebi_CosH, ebi_TanH, ebi_Pow, ebi_Exp,
  ebi_Sqr, ebi_Sqrt, ebi_Log, ebi_Log10,
  ebi_Ceil, ebi_Floor, ebi_Int, ebi_Frac,
  ebi_Abs, ebi_UniDev, ebi_NrmDev, ebi_ExpDev,
  ebi_GamDev, ebi_PoiDev, ebi_BinDev, ebi_UniDevStep,
  ebi_NrmDevStep, ebi_ExpDevStep
}
enum  TExpBiArgType { ebatUndef, ebatVoid, ebatFlt, ebatFltFlt }
enum  TExpType {
  etUndef, etVal, etVec, etLst,
  etOp, etVar, etBiConst, etFunc,
  etBiFunc
}
enum  TExpOp {
  eoUndef, eoUPlus, eoUMinus, eoPlus,
  eoMinus, eoMul, eoDiv, eoIDiv,
  eoMod, eoNot, eoAnd, eoOr,
  eoEq, eoNEq, eoLss, eoGtr,
  eoLEq, eoGEq, eoIf
}
enum  TExpHelpObjType {
  ehotUndef, ehotOp, ehotVar, ehotFunc,
  ehotTempl
}

Functions

 TExpVal (const TExpValType &_ValType=evtUndef)
 TExpVal (const TFlt &_Flt)
 TExpVal (const double &_Flt)
 TExpVal (const TStr &_Str)
static PExpVal New (const TExpValType &ValType=evtUndef)
static PExpVal New (const TFlt &Flt)
static PExpVal New (const double &Flt)
static PExpVal New (const TStr &Str)
 ~TExpVal ()
 TExpVal (TSIn &SIn)
static PExpVal Load (TSIn &SIn)
void Save (TSOut &SOut) const
TExpValoperator= (const TExpVal &)
bool operator== (const TExpVal &ExpVal) const
bool operator< (const TExpVal &ExpVal) const
void AddToVec (const PExpVal &ExpVal)
void AddToLst (const PExpVal &ExpVal)
TExpValType GetValType () const
bool IsFltVal (TFlt &_Flt) const
bool IsFltVal (double &_Flt) const
double GetFltVal () const
int GetFltValAsInt (const bool &ThrowExceptP=true) const
TStr GetStrVal () const
void SaveTxt (TOLx &Lx) const
void SaveTxt (const PSOut &SOut) const
TStr GetStr () const
static PExpVal MkClone (const PExpVal &ExpVal)
static PExpVal GetUndefExpVal ()
static PExpVal GetZeroExpVal ()
 TExpEnv ()
virtual ~TExpEnv ()
 TExpEnv (TSIn &SIn)
TExpEnvoperator= (const TExpEnv &)
bool operator== (const TExpEnv &) const
virtual void PutVarVal (const TStr &, const PExpVal &)
virtual PExpVal GetVarVal (const TStr &, bool &IsVar)
virtual PExpVal GetVarVal (const TStr &VarNm)
virtual int GetVars () const
virtual void GetVarNmVal (const int &, TStr &, PExpVal &) const
virtual PExpVal GetFuncVal (const TStr &, const TExpValV &, bool &IsFunc)
virtual TRndGetRnd ()
static bool IsFuncOk (const TStr &RqFuncNm, const TExpFuncArgType &RqFuncArgType, const TStr &FuncNm, const TExpValV &ArgValV)
 TExp (const TExpType &_ExpType=etUndef)
 TExp (const TExpOp &_ExpOp, const PExp &Exp1, const PExp &Exp2=NULL, const PExp &Exp3=NULL)
 TExp (const PExpVal &_ExpVal)
 TExp (const TStr &_VarNm)
 TExp (const TStr &_FuncNm, const TExpV &_ArgExpV)
 ~TExp ()
 TExp (TSIn &SIn)
TExpoperator= (const TExp &)
bool operator== (const TExp &) const
static bool IsExpStrOk (const TStr &ExpStr, TStr &MsgStr)
static PExp LoadTxt (const PSIn &SIn, bool &Ok, TStr &MsgStr, const TFSet &Expect=TFSet()|syEof)
static PExp LoadTxt (const TStr &ExpStr, bool &Ok, TStr &MsgStr)
static PExp LoadTxt (const TStr &ExpStr)
TStr GetTopObjNm () const
int GetArgExps () const
TStr GetArgExpStr (const int &ArgExpN) const
PExpVal Eval (bool &Ok, TStr &MsgStr, const bool &DbgP, TStr &DbgStr, const PExpEnv &ExpEnv=TExpEnv::DfExpEnv)
PExpVal Eval (const PExpEnv &ExpEnv=TExpEnv::DfExpEnv)
PExpVal Eval (bool &Ok, TStr &MsgStr, const PExpEnv &ExpEnv=TExpEnv::DfExpEnv)
PExpVal Eval (const PExpEnv &ExpEnv, const bool &DbgP, TStr &DbgStr)
static PExpVal LoadAndEvalExpL (const TStr &ExpLStr, bool &Ok, TStr &MsgStr, const PExpEnv &ExpEnv=TExpEnv::DfExpEnv)
static TStr GetExpTypeStr (const TExpType &ExpType)
static TStr GetExpOpStr (const TExpOp &ExpOp)
static void GetBiDescV (TStrPrV &BiDescV)
 TExpHelpItem ()
 TExpHelpItem (const TStr &_Nm, const TStr &_TypeStr, const TStr &_DescStr, const TStr &_DfValStr)
static PExpHelpItem New (const TStr &Nm, const TStr &TypeStr, const TStr &DescStr, const TStr &DfValStr)
 ~TExpHelpItem ()
 TExpHelpItem (TSIn &SIn)
TExpHelpItemoperator= (const TExpHelpItem &)
bool operator== (const TExpHelpItem &) const
TStr GetNm () const
TStr GetTypeStr () const
TStr GetDescStr () const
TStr GetDfValStr () const
 TExpHelpObj ()
 TExpHelpObj (const TExpHelpObjType &_Type, const TStr &_CatNm, const PExpHelpItem &_HdItem, const TExpHelpItemV &_ArgItemV)
static PExpHelpObj New (const TExpHelpObjType &Type, const TStr &CatNm, const PExpHelpItem &HdItem, const TExpHelpItemV &ArgItemV=TExpHelpItemV())
 ~TExpHelpObj ()
 TExpHelpObj (TSIn &SIn)
TExpHelpObjoperator= (const TExpHelpObj &)
bool operator== (const TExpHelpObj &) const
TExpHelpObjType GetType () const
TStr GetCatNm () const
PExpHelpItem GetHdItem () const
int GetArgItems () const
PExpHelpItem GetArgItem (const int &ArgItemN) const
TStr GetHdArgNmStr () const
static TExpHelpObjType GetObjTypeFromStr (const TStr &TypeStr)
 TExpHelp ()
static PExpHelp New ()
 ~TExpHelp ()
 TExpHelp (TSIn &SIn)
TExpHelpoperator= (const TExpHelp &)
bool operator== (const TExpHelp &) const
static PExpHelp LoadXml (const PSIn &SIn)
static PExpHelp LoadXml (const TStr &FNm)
void AddObj (const PExpHelpObj &Obj)
void GetCatNmV (TStrV &CatNmV) const
void GetObjHdNmV (const TStr &CatNm, TStrV &ObjHdNmV) const
PExpHelpObj GetObj (const TStr &ObjNm) const

Variables

static ClassTPVL(TExpVal,
PExpVal, TExpValV, TExpValL,
TExpValLN) private PExpVal 
ZeroExpVal = NULL
TInt ValType
TAscFlt Flt
TStr Str
TExpValV ValV
TExpValL ValL
static PExpEnv DfExpEnv = PExpEnv(new TExpEnv())
ClassTPV(TExp, PExp, TExpV)
private TInt 
ExpType
TBool IsParen
PExpVal ExpVal
TStr ExpNm
TInt ExpOp
TInt ExpBiId
TExpV ArgExpV
static const TFSet MulOpSymSet
static const TFSet UAddOpSymSet
static const TFSet AddOpSymSet
static const TFSet RelOpSymSet
static const TFSet FactExpExpect
static const TFSet MulExpExpect
static const TFSet AddExpExpect
static const TFSet RelExpExpect
static const TFSet ExpExpect
ClassTPV(TExpHelpItem,
PExpHelpItem, TExpHelpItemV)
private TStr 
TypeStr
TStr DescStr
TStr DfValStr
ClassTPV(TExpHelpObj,
PExpHelpObj, TExpHelpObjV)
private TStr 
CatNm
PExpHelpItem HdItem
TExpHelpItemV ArgItemV

Enumeration Type Documentation

Enumerator:
ebatUndef 
ebatVoid 
ebatFlt 
ebatFltFlt 
enum TExpBiId
Enumerator:
ebi_Undef 
ebi_True 
ebi_False 
ebi_E 
ebi_Pi 
ebi_Sin 
ebi_Cos 
ebi_Tan 
ebi_ASin 
ebi_ACos 
ebi_ATan 
ebi_SinH 
ebi_CosH 
ebi_TanH 
ebi_Pow 
ebi_Exp 
ebi_Sqr 
ebi_Sqrt 
ebi_Log 
ebi_Log10 
ebi_Ceil 
ebi_Floor 
ebi_Int 
ebi_Frac 
ebi_Abs 
ebi_UniDev 
ebi_NrmDev 
ebi_ExpDev 
ebi_GamDev 
ebi_PoiDev 
ebi_BinDev 
ebi_UniDevStep 
ebi_NrmDevStep 
ebi_ExpDevStep 
Enumerator:
efatUndef 
efatVoid 
efatFlt 
efatFltFlt 
efatFltStr 
efatStr 
efatStrFlt 
efatStrStr 
efatStrAny 
Enumerator:
ehotUndef 
ehotOp 
ehotVar 
ehotFunc 
ehotTempl 
enum TExpOp
Enumerator:
eoUndef 
eoUPlus 
eoUMinus 
eoPlus 
eoMinus 
eoMul 
eoDiv 
eoIDiv 
eoMod 
eoNot 
eoAnd 
eoOr 
eoEq 
eoNEq 
eoLss 
eoGtr 
eoLEq 
eoGEq 
eoIf 
enum TExpType
Enumerator:
etUndef 
etVal 
etVec 
etLst 
etOp 
etVar 
etBiConst 
etFunc 
etBiFunc 
Enumerator:
evtUndef 
evtFlt 
evtStr 
evtVec 
evtLst 

Function Documentation

void AddObj ( const PExpHelpObj &  Obj)
void AddToLst ( const PExpVal &  ExpVal)
void AddToVec ( const PExpVal &  ExpVal)
PExpVal TExp::Eval ( bool &  Ok,
TStr MsgStr,
const bool &  DbgP,
TStr DbgStr,
const PExpEnv &  ExpEnv = TExpEnv::DfExpEnv 
)
PExpVal Eval ( const PExpEnv &  ExpEnv = TExpEnv::DfExpEnv)
PExpVal Eval ( bool &  Ok,
TStr MsgStr,
const PExpEnv &  ExpEnv = TExpEnv::DfExpEnv 
)
PExpVal Eval ( const PExpEnv &  ExpEnv,
const bool &  DbgP,
TStr DbgStr 
)
int TExp::GetArgExps ( ) const
TStr TExp::GetArgExpStr ( const int &  ArgExpN) const
PExpHelpItem GetArgItem ( const int &  ArgItemN) const
int GetArgItems ( ) const
void TExp::GetBiDescV ( TStrPrV BiDescV) [static]
TStr GetCatNm ( ) const
void TExpHelp::GetCatNmV ( TStrV CatNmV) const
TStr GetDescStr ( ) const
TStr GetDfValStr ( ) const
static TStr GetExpOpStr ( const TExpOp ExpOp) [static]
TStr TExp::GetExpTypeStr ( const TExpType ExpType) [static]
double GetFltVal ( ) const
int TExpVal::GetFltValAsInt ( const bool &  ThrowExceptP = true) const
virtual PExpVal GetFuncVal ( const TStr ,
const TExpValV &  ,
bool &  IsFunc 
) [virtual]
PExpHelpItem GetHdItem ( ) const
TStr GetNm ( ) const
PExpHelpObj TExpHelp::GetObj ( const TStr ObjNm) const
void TExpHelp::GetObjHdNmV ( const TStr CatNm,
TStrV ObjHdNmV 
) const
TExpHelpObjType TExpHelpObj::GetObjTypeFromStr ( const TStr TypeStr) [static]
virtual TRnd& GetRnd ( ) [virtual]
TStr GetStr ( ) const
TStr GetStrVal ( ) const
TStr GetTypeStr ( ) const
PExpVal TExpVal::GetUndefExpVal ( ) [static]
virtual void GetVarNmVal ( const int &  ,
TStr ,
PExpVal &   
) const [virtual]
int GetVars ( ) const [virtual]
virtual PExpVal GetVarVal ( const TStr ,
bool &  IsVar 
) [virtual]
virtual PExpVal GetVarVal ( const TStr VarNm) [virtual]
PExpVal TExpVal::GetZeroExpVal ( ) [static]
static bool IsExpStrOk ( const TStr ExpStr,
TStr MsgStr 
) [static]
bool IsFltVal ( TFlt _Flt) const
bool IsFltVal ( double &  _Flt) const
bool TExpEnv::IsFuncOk ( const TStr RqFuncNm,
const TExpFuncArgType RqFuncArgType,
const TStr FuncNm,
const TExpValV &  ArgValV 
) [static]
static PExpHelp Load ( TSIn SIn) [static]
PExpVal TExp::LoadAndEvalExpL ( const TStr ExpLStr,
bool &  Ok,
TStr MsgStr,
const PExpEnv &  ExpEnv = TExpEnv::DfExpEnv 
) [static]
static PExp LoadTxt ( const PSIn SIn,
bool &  Ok,
TStr MsgStr,
const TFSet Expect = TFSet()|syEof 
) [static]
static PExp LoadTxt ( const TStr ExpStr,
bool &  Ok,
TStr MsgStr 
) [static]
static PExp LoadTxt ( const TStr ExpStr) [static]
static PExpHelp LoadXml ( const PSIn SIn) [static]
static PExpHelp LoadXml ( const TStr FNm) [static]
static PExpVal MkClone ( const PExpVal &  ExpVal) [static]
static PExpVal New ( const TExpValType ValType = evtUndef) [static]
static PExpVal New ( const TFlt Flt) [static]
static PExpVal New ( const double &  Flt) [static]
static PExpVal New ( const TStr Str) [static]
static PExpHelpItem New ( const TStr Nm,
const TStr TypeStr,
const TStr DescStr,
const TStr DfValStr 
) [static]
static PExpHelpObj New ( const TExpHelpObjType Type,
const TStr CatNm,
const PExpHelpItem &  HdItem,
const TExpHelpItemV &  ArgItemV = TExpHelpItemV() 
) [static]
static PExpHelp New ( ) [static]
bool operator< ( const TExpVal ExpVal) const
TExpVal& operator= ( const TExpVal )
TExpEnv& operator= ( const TExpEnv )
TExp& operator= ( const TExp )
TExpHelpItem& operator= ( const TExpHelpItem )
TExpHelpObj& operator= ( const TExpHelpObj )
TExpHelp& operator= ( const TExpHelp )
bool operator== ( const TExpVal ExpVal) const
bool operator== ( const TExpEnv ) const
bool operator== ( const TExp ) const
bool operator== ( const TExpHelpItem ) const
bool operator== ( const TExpHelpObj ) const
bool operator== ( const TExpHelp ) const
virtual void PutVarVal ( const TStr ,
const PExpVal &   
) [virtual]
void Save ( TSOut SOut) const
void SaveTxt ( TOLx Lx) const
void SaveTxt ( const PSOut SOut) const
TExp ( const TExpType _ExpType = etUndef)
TExp::TExp ( const TExpOp _ExpOp,
const PExp &  Exp1,
const PExp &  Exp2 = NULL,
const PExp &  Exp3 = NULL 
)
TExp::TExp ( const PExpVal &  _ExpVal)
TExp::TExp ( const TStr _VarNm)
TExp::TExp ( const TStr _FuncNm,
const TExpV &  _ArgExpV 
)
TExp ( TSIn SIn)
TExpEnv ( )
TExpEnv ( TSIn SIn)
TExpHelp ( )
TExpHelp ( TSIn SIn)
TExpHelpItem ( const TStr _Nm,
const TStr _TypeStr,
const TStr _DescStr,
const TStr _DfValStr 
)
TExpHelpItem ( TSIn SIn)
TExpHelpObj ( const TExpHelpObjType _Type,
const TStr _CatNm,
const PExpHelpItem &  _HdItem,
const TExpHelpItemV &  _ArgItemV 
)
TExpHelpObj ( TSIn SIn)
TExpVal ( const TExpValType _ValType = evtUndef)
TExpVal ( const TFlt _Flt)
TExpVal ( const double &  _Flt)
TExpVal ( const TStr _Str)
TExpVal ( TSIn SIn)
~TExp ( )
virtual ~TExpEnv ( ) [virtual]
~TExpHelp ( )
~TExpVal ( )

Variable Documentation

const TFSet TExp::AddExpExpect [static]
const TFSet TExp::AddOpSymSet [static]
TExpV ArgExpV
TExpHelpItemV ArgItemV
ClassTPV (TExpHelpObj, PExpHelpObj, TExpHelpObjV) private TStr CatNm
PExpEnv TExpEnv::DfExpEnv = PExpEnv(new TExpEnv()) [static]
const TFSet TExp::ExpExpect [static]
ClassTPV (TExp, PExp, TExpV) private TInt ExpType
PExpVal ExpVal
const TFSet TExp::FactExpExpect [static]
PExpHelpItem HdItem
const TFSet TExp::MulExpExpect [static]
const TFSet TExp::MulOpSymSet [static]
const TFSet TExp::RelExpExpect [static]
const TFSet TExp::RelOpSymSet [static]
ClassTPV (TExpHelpItem, PExpHelpItem, TExpHelpItemV) private TStr TypeStr
const TFSet TExp::UAddOpSymSet [static]
TExpValL ValL
TExpValV ValV
PExpVal TExpVal::ZeroExpVal = NULL [static]