| 
    SNAP Library 2.0, Developer Reference
    2013-05-13 16:33:57
    
   SNAP, a general purpose, high performance system for analysis and manipulation of large networks 
   | 
  
  
  
 
#include <exp.h>

Public Member Functions | |
| TExpHelpObj () | |
| TExpHelpObj (const TExpHelpObjType &_Type, const TStr &_CatNm, const PExpHelpItem &_HdItem, const TExpHelpItemV &_ArgItemV) | |
| ~TExpHelpObj () | |
| TExpHelpObj (TSIn &SIn) | |
| void | Save (TSOut &SOut) const | 
| TExpHelpObj & | operator= (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 Public Member Functions | |
| static PExpHelpObj | New (const TExpHelpObjType &Type, const TStr &CatNm, const PExpHelpItem &HdItem, const TExpHelpItemV &ArgItemV=TExpHelpItemV()) | 
| static PExpHelpObj | Load (TSIn &SIn) | 
| static TExpHelpObjType | GetObjTypeFromStr (const TStr &TypeStr) | 
Private Attributes | |
| TCRef | CRef | 
| TInt | Type | 
| TStr | CatNm | 
| PExpHelpItem | HdItem | 
| TExpHelpItemV | ArgItemV | 
Friends | |
| class | TPt< TExpHelpObj > | 
| TExpHelpObj::TExpHelpObj | ( | ) |  [inline] | 
        
| TExpHelpObj::TExpHelpObj | ( | const TExpHelpObjType & | _Type, | 
| const TStr & | _CatNm, | ||
| const PExpHelpItem & | _HdItem, | ||
| const TExpHelpItemV & | _ArgItemV | ||
| ) |  [inline] | 
        
| TExpHelpObj::~TExpHelpObj | ( | ) |  [inline] | 
        
| TExpHelpObj::TExpHelpObj | ( | TSIn & | SIn | ) |  [inline] | 
        
| PExpHelpItem TExpHelpObj::GetArgItem | ( | const int & | ArgItemN | ) |  const [inline] | 
        
| int TExpHelpObj::GetArgItems | ( | ) |  const [inline] | 
        
| TStr TExpHelpObj::GetCatNm | ( | ) |  const [inline] | 
        
| TStr TExpHelpObj::GetHdArgNmStr | ( | ) | const | 
Definition at line 1032 of file exp.cpp.
References ArgItemV, ehotFunc, ehotOp, ehotTempl, ehotVar, Fail, TExpHelpItem::GetNm(), TExpHelpItem::GetTypeStr(), HdItem, TVec< TVal, TSizeTy >::Len(), and Type.
                                      {
  TChA ChA;
  switch (Type){
    case ehotOp: {// operator
      TStr OpStr=HdItem->GetNm();
      if (ArgItemV.Len()==1){
        ChA+=OpStr; ChA+=" "; ChA+=ArgItemV[0]->GetNm();
      } else
      if (ArgItemV.Len()==2){
        ChA+=ArgItemV[0]->GetNm();
        ChA+=" "; ChA+=OpStr; ChA+=" ";
        ChA+=ArgItemV[1]->GetNm();
      } else
      if (ArgItemV.Len()==3){
        ChA+=ArgItemV[0]->GetNm();
        ChA+=" "; ChA+=OpStr; ChA+=" ";
        ChA+=ArgItemV[1]->GetNm();
        ChA+=" "; ChA+=":"; ChA+=" ";
        ChA+=ArgItemV[2]->GetNm();
      } else {
        Fail;
      }
      break;}
    case ehotVar: // variable
      ChA+=HdItem->GetNm(); break;
    case ehotFunc: // function
      ChA+=HdItem->GetTypeStr(); ChA+=" <- ";
      ChA+=HdItem->GetNm();
      ChA+="(";
      {for (int ArgN=0; ArgN<ArgItemV.Len(); ArgN++){
        if (ArgN>0){ChA+=", ";}
        ChA+=ArgItemV[ArgN]->GetNm();
      }}
      ChA+=")";
      break;
    case ehotTempl: // template
      ChA+=HdItem->GetTypeStr(); break;
    default: Fail;
  }
  return ChA;
}

| PExpHelpItem TExpHelpObj::GetHdItem | ( | ) |  const [inline] | 
        
| TExpHelpObjType TExpHelpObj::GetObjTypeFromStr | ( | const TStr & | TypeStr | ) |  [static] | 
        
Definition at line 1074 of file exp.cpp.
References ehotFunc, ehotOp, ehotTempl, ehotUndef, ehotVar, and TExcept::Throw().
Referenced by TExpHelp::LoadXml().
                                                                 {
  if (TypeStr=="Op"){return ehotOp;}
  else if (TypeStr=="Var"){return ehotVar;}
  else if (TypeStr=="Func"){return ehotFunc;}
  else if (TypeStr=="Templ"){return ehotTempl;}
  else {TExcept::Throw("Invalid object type.", TypeStr); return ehotUndef;}
}


| TExpHelpObjType TExpHelpObj::GetType | ( | ) |  const [inline] | 
        
Definition at line 335 of file exp.h.
{return TExpHelpObjType(int(Type));}
| static PExpHelpObj TExpHelpObj::Load | ( | TSIn & | SIn | ) |  [inline, static] | 
        
Definition at line 326 of file exp.h.
                                    {
    return PExpHelpObj(new TExpHelpObj(SIn));}
| static PExpHelpObj TExpHelpObj::New | ( | const TExpHelpObjType & | Type, | 
| const TStr & | CatNm, | ||
| const PExpHelpItem & | HdItem, | ||
| const TExpHelpItemV & | ArgItemV = TExpHelpItemV()  | 
        ||
| ) |  [inline, static] | 
        
Definition at line 320 of file exp.h.
                                                                             {
    return PExpHelpObj(new TExpHelpObj(Type, CatNm, HdItem, ArgItemV));}
| TExpHelpObj& TExpHelpObj::operator= | ( | const TExpHelpObj & | ) |  [inline] | 
        
| bool TExpHelpObj::operator== | ( | const TExpHelpObj & | ) |  const [inline] | 
        
| void TExpHelpObj::Save | ( | TSOut & | SOut | ) |  const [inline] | 
        
friend class TPt< TExpHelpObj > [friend] | 
        
TExpHelpItemV TExpHelpObj::ArgItemV [private] | 
        
Definition at line 314 of file exp.h.
Referenced by GetHdArgNmStr().
TStr TExpHelpObj::CatNm [private] | 
        
TCRef TExpHelpObj::CRef [private] | 
        
PExpHelpItem TExpHelpObj::HdItem [private] | 
        
Definition at line 313 of file exp.h.
Referenced by GetHdArgNmStr().
TInt TExpHelpObj::Type [private] | 
        
Definition at line 311 of file exp.h.
Referenced by GetHdArgNmStr().