SNAP Library , Developer Reference  2013-01-07 14:03:36
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
TPp Class Reference

#include <pp.h>

Collaboration diagram for TPp:

List of all members.

Public Member Functions

 TPp ()
 TPp (const TPp &Pp)
 TPp (const TStr &_IdNm, const TStr &_DescNm, const TPpTagVal &_Tag=ptUndef, const TPpTagVal &_ValVTag=ptUndef)
 TPp (TSIn &SIn)
void Save (TSOut &SOut)
TPpoperator= (const TPp &Pp)
TStr GetIdNm () const
TStr GetUcIdNm () const
TStr GetDescNm () const
int GetTag () const
int GetValVTag () const
void PutVal (const TPpVal &_Val)
TPpVal GetVal () const
void PutDfVal (const TPpVal &_DfVal)
TPpVal GetDfVal () const
void PutMnMxVal (const TPpVal &_MnVal, const TPpVal &_MxVal)
TPpVal GetMnVal () const
TPpVal GetMxVal () const
void AddCcVal (const TPpVal &_Val)
void PutCcValV (const TPpValV &CcValV)
int GetCcVals () const
TPpVal GetCcVal (const int &CcValN) const
bool IsPp (const TStr &IdNm) const
bool IsPp (const TStr &IdNm, PPp &Pp) const
int GetPps () const
int AddPp (const PPp &Pp)
void AddPpV (const TPpV &PpV)
PPp GetPp (const int &PpN) const
PPp GetPp (const TStr &IdPath) const
PPp GetSelPp () const
int AddPpInt (const TStr &IdNm, const TStr &DescNm=TStr())
int AddPpInt (const TStr &IdNm, const TStr &DescNm, const int &MnVal, const int &MxVal, const int &DfVal)
int AddPpFlt (const TStr &IdNm, const TStr &DescNm=TStr())
int AddPpFlt (const TStr &IdNm, const TStr &DescNm, const double &MnVal, const double &MxVal, const double &DfVal)
int AddPpStr (const TStr &IdNm, const TStr &DescNm=TStr(), const TStr &DfVal=TStr())
void PutValBool (const bool &Val)
TBool GetValBool () const
void PutValBool (const TStr &IdPath, const bool &Val)
TBool GetValBool (const TStr &IdPath) const
void PutValInt (const int &Val)
TInt GetValInt () const
void PutValInt (const TStr &IdPath, const int &Val)
TInt GetValInt (const TStr &IdPath) const
void PutValFlt (const double &Val)
TFlt GetValFlt () const
void PutValFlt (const TStr &IdPath, const double &Val)
TFlt GetValFlt (const TStr &IdPath) const
void PutValStr (const TStr &Val)
TStr GetValStr () const
void PutValStr (const TStr &IdPath, const TStr &Val)
TStr GetValStr (const TStr &IdPath) const
void PutValValV (const TPpValV &Val)
TPpValV GetValValV () const
void PutValValV (const TStr &IdPath, const TPpValV &Val)
TPpValV GetValValV (const TStr &IdPath) const
TStr GetStr (const bool &Brief=true) const
void SaveTxt (const PSOut &SOut) const
void SaveTxt (TOLx &Lx, const int &Lev=0) const

Static Public Member Functions

static PPp Load (TSIn &SIn)
static PPp GetSetPp (const TStr &IdNm, const TStr &DescNm=TStr())
static PPp LoadTxt (const PSIn &SIn)
static PPp LoadTxt (TILx &Lx)

Private Member Functions

void IAssertSubPp () const
int GetPpN (const TStr &IdNm) const
void GetChA (const int &Lev, const bool &Brief, TChA &ChA) const

Private Attributes

TCRef CRef
TStr IdNm
TStr UcIdNm
TStr DescNm
TInt Tag
TInt ValVTag
TPpVal Val
TPpVal DfVal
TPpVal MnVal
TPpVal MxVal
TPpValV CcValV
TPpV PpV

Static Private Attributes

static TStr PpNm = "Pp"

Friends

class TPt< TPp >

Detailed Description

Definition at line 70 of file pp.h.


Constructor & Destructor Documentation

TPp::TPp ( ) [inline]

Definition at line 86 of file pp.h.

Referenced by AddPpFlt(), AddPpInt(), AddPpStr(), GetSetPp(), Load(), and LoadTxt().

       :
    IdNm(), UcIdNm(), DescNm(),
    Tag(ptUndef), ValVTag(),
    Val(), DfVal(), MnVal(), MxVal(),
    CcValV(), PpV(){}

Here is the caller graph for this function:

TPp::TPp ( const TPp Pp) [inline]

Definition at line 91 of file pp.h.

                    :
    IdNm(Pp.IdNm), UcIdNm(Pp.IdNm.GetUc()), DescNm(Pp.DescNm),
    Tag(Pp.Tag), ValVTag(Pp.ValVTag),
    Val(Pp.Val), DfVal(Pp.DfVal), MnVal(Pp.MnVal), MxVal(Pp.MxVal),
    CcValV(Pp.CcValV), PpV(Pp.PpV){}
TPp::TPp ( const TStr _IdNm,
const TStr _DescNm,
const TPpTagVal _Tag = ptUndef,
const TPpTagVal _ValVTag = ptUndef 
) [inline]

Definition at line 96 of file pp.h.

References IAssert, ptValV, and ValVTag.

                                                                    :
    IdNm(_IdNm), UcIdNm(_IdNm.GetUc()), DescNm(_DescNm),
    Tag(_Tag), ValVTag(_ValVTag),
    Val(), DfVal(), MnVal(), MxVal(),
    CcValV(), PpV(){IAssert(int(ValVTag)!=ptValV);}
TPp::TPp ( TSIn SIn) [inline]

Definition at line 102 of file pp.h.

                :
    IdNm(SIn), UcIdNm(SIn), DescNm(SIn),
    Tag(SIn), ValVTag(SIn),
    Val(SIn), DfVal(SIn), MnVal(SIn), MxVal(SIn),
    CcValV(SIn), PpV(SIn){}

Member Function Documentation

void TPp::AddCcVal ( const TPpVal _Val) [inline]

Definition at line 140 of file pp.h.

References TVec< TVal >::Add(), CcValV, TPpVal::GetTag(), IAssert, ptStr, TVec< TVal >::SearchForw(), and Tag.

Referenced by PutCcValV().

                                   {
    IAssert((int(Tag)==ptStr)||(int(Tag)==_Val.GetTag()));
    IAssert(CcValV.SearchForw(_Val)==-1); CcValV.Add(_Val);}

Here is the call graph for this function:

Here is the caller graph for this function:

int TPp::AddPp ( const PPp Pp) [inline]

Definition at line 155 of file pp.h.

References TVec< TVal >::Add(), IAssertSubPp(), and PpV.

Referenced by AddPpFlt(), AddPpInt(), AddPpStr(), and AddPpV().

{IAssertSubPp(); return PpV.Add(Pp);}

Here is the call graph for this function:

Here is the caller graph for this function:

int TPp::AddPpFlt ( const TStr IdNm,
const TStr DescNm = TStr() 
) [inline]

Definition at line 170 of file pp.h.

References AddPp(), DescNm, ptFlt, and TPp().

                                                           {
    PPp Pp=PPp(new TPp(IdNm, DescNm, ptFlt)); return AddPp(Pp);}

Here is the call graph for this function:

int TPp::AddPpFlt ( const TStr IdNm,
const TStr DescNm,
const double &  MnVal,
const double &  MxVal,
const double &  DfVal 
) [inline]

Definition at line 172 of file pp.h.

References AddPp(), ptFlt, and TPp().

                                                                 {
    PPp Pp=PPp(new TPp(IdNm, DescNm, ptFlt));
    Pp->PutMnMxVal(MnVal, MxVal); Pp->PutDfVal(DfVal); return AddPp(Pp);}

Here is the call graph for this function:

int TPp::AddPpInt ( const TStr IdNm,
const TStr DescNm = TStr() 
) [inline]

Definition at line 164 of file pp.h.

References AddPp(), DescNm, ptInt, and TPp().

                                                           {
    PPp Pp=PPp(new TPp(IdNm, DescNm, ptInt)); return AddPp(Pp);}

Here is the call graph for this function:

int TPp::AddPpInt ( const TStr IdNm,
const TStr DescNm,
const int &  MnVal,
const int &  MxVal,
const int &  DfVal 
) [inline]

Definition at line 166 of file pp.h.

References AddPp(), ptInt, and TPp().

                                                        {
    PPp Pp=PPp(new TPp(IdNm, DescNm, ptInt));
    Pp->PutMnMxVal(MnVal, MxVal); Pp->PutDfVal(DfVal); return AddPp(Pp);}

Here is the call graph for this function:

int TPp::AddPpStr ( const TStr IdNm,
const TStr DescNm = TStr(),
const TStr DfVal = TStr() 
) [inline]

Definition at line 176 of file pp.h.

References AddPp(), DescNm, DfVal, ptStr, and TPp().

                                                                                     {
    PPp Pp=PPp(new TPp(IdNm, DescNm, ptStr));
    Pp->PutDfVal(DfVal); return AddPp(Pp);}

Here is the call graph for this function:

void TPp::AddPpV ( const TPpV PpV) [inline]

Definition at line 156 of file pp.h.

References AddPp(), and TVec< TVal >::Len().

                              {
    for (int PpN=0; PpN<PpV.Len(); PpN++){AddPp(PpV[PpN]);}}

Here is the call graph for this function:

TPpVal TPp::GetCcVal ( const int &  CcValN) const [inline]

Definition at line 146 of file pp.h.

References CcValV, IAssert, ptStr, and Tag.

                                           {
    IAssert(int(Tag)==ptStr); return CcValV[CcValN];}
int TPp::GetCcVals ( ) const [inline]

Definition at line 145 of file pp.h.

References CcValV, IAssert, TVec< TVal >::Len(), ptStr, and Tag.

{IAssert(int(Tag)==ptStr); return CcValV.Len();}

Here is the call graph for this function:

void TPp::GetChA ( const int &  Lev,
const bool &  Brief,
TChA ChA 
) const [private]

Definition at line 118 of file pp.cpp.

References DescNm, GetStr(), TPpVal::GetValStr(), IdNm, TVec< TVal >::Len(), PpV, ptSel, ptSet, Tag, and Val.

Referenced by GetStr().

                                                                   {
  for (int LevN=0; LevN<Lev; LevN++){ChA+="|  ";}
  if (!Brief){ChA+=TPpTag::GetStr(Tag);}
  ChA+=" '"; ChA+=IdNm; ChA+="' ("; ChA+=DescNm; ChA+=") = ";
  ChA+=Val.GetValStr(true); ChA+="\r\n";
  if ((int(Tag)==ptSel)||(int(Tag)==ptSet)){
    for (int PpN=0; PpN<PpV.Len(); PpN++){
      PpV[PpN]->GetChA(Lev+1, Brief, ChA);
    }
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

TStr TPp::GetDescNm ( ) const [inline]

Definition at line 125 of file pp.h.

References DescNm.

{return DescNm;}
TPpVal TPp::GetDfVal ( ) const [inline]

Definition at line 133 of file pp.h.

References DfVal.

{return DfVal;}
TStr TPp::GetIdNm ( ) const [inline]

Definition at line 123 of file pp.h.

References IdNm.

{return IdNm;}
TPpVal TPp::GetMnVal ( ) const [inline]

Definition at line 138 of file pp.h.

References IAssert, MnVal, ptFlt, ptInt, and Tag.

{IAssert((int(Tag)==ptInt)||(int(Tag)==ptFlt)); return MnVal;}
TPpVal TPp::GetMxVal ( ) const [inline]

Definition at line 139 of file pp.h.

References IAssert, MxVal, ptFlt, ptInt, and Tag.

{IAssert((int(Tag)==ptInt)||(int(Tag)==ptFlt)); return MxVal;}
PPp TPp::GetPp ( const int &  PpN) const [inline]

Definition at line 158 of file pp.h.

References IAssertSubPp(), and PpV.

Referenced by GetSelPp(), GetValBool(), GetValFlt(), GetValInt(), GetValStr(), GetValValV(), IsPp(), PutValBool(), PutValFlt(), PutValInt(), PutValStr(), and PutValValV().

{IAssertSubPp(); return PpV[PpN];}

Here is the call graph for this function:

Here is the caller graph for this function:

PPp TPp::GetPp ( const TStr IdPath) const

Definition at line 161 of file pp.cpp.

References TStr::Empty(), TPt< TRec >::Empty(), GetPpN(), IAssert, IAssertSubPp(), IdNm, PpV, and TStr::SplitOnCh().

                                       {
  IAssertSubPp();
  TStr IdNm; TStr RestIdPath;
  IdPath.SplitOnCh(IdNm, '|', RestIdPath);
  PPp Pp=PpV[GetPpN(IdNm)];
  while (!RestIdPath.Empty()){
    RestIdPath.SplitOnCh(IdNm, '|', RestIdPath);
    Pp=Pp->PpV[Pp->GetPpN(IdNm)];
  }
  IAssert(!Pp.Empty()); return Pp;
}

Here is the call graph for this function:

int TPp::GetPpN ( const TStr IdNm) const [private]

Definition at line 111 of file pp.cpp.

References TStr::GetUc(), TVec< TVal >::Len(), PpV, and UcIdNm.

Referenced by GetPp(), and IsPp().

                                      {
  TStr UcIdNm=IdNm.GetUc();
  for (int PpN=0; PpN<PpV.Len(); PpN++){
    if (PpV[PpN]->UcIdNm==UcIdNm){return PpN;}}
  return -1;
}

Here is the call graph for this function:

Here is the caller graph for this function:

int TPp::GetPps ( ) const [inline]

Definition at line 154 of file pp.h.

References IAssertSubPp(), TVec< TVal >::Len(), and PpV.

{IAssertSubPp(); return PpV.Len();}

Here is the call graph for this function:

PPp TPp::GetSelPp ( ) const [inline]

Definition at line 160 of file pp.h.

References GetPp(), GetStr(), GetVal(), IAssert, ptSel, and Tag.

                       {
    IAssert(int(Tag)==ptSel); return GetPp(GetVal().GetStr());}

Here is the call graph for this function:

static PPp TPp::GetSetPp ( const TStr IdNm,
const TStr DescNm = TStr() 
) [inline, static]

Definition at line 179 of file pp.h.

References DescNm, ptSet, and TPp().

                                                                  {
    return PPp(new TPp(IdNm, DescNm, ptSet));}

Here is the call graph for this function:

TStr TPp::GetStr ( const bool &  Brief = true) const [inline]

Definition at line 223 of file pp.h.

References GetChA().

Referenced by GetChA(), and GetSelPp().

                                            {
    TChA ChA; GetChA(0, Brief, ChA); return ChA;}

Here is the call graph for this function:

Here is the caller graph for this function:

int TPp::GetTag ( ) const [inline]

Definition at line 126 of file pp.h.

References Tag.

{return Tag;}
TStr TPp::GetUcIdNm ( ) const [inline]

Definition at line 124 of file pp.h.

References UcIdNm.

{return UcIdNm;}
TPpVal TPp::GetVal ( ) const [inline]

Definition at line 129 of file pp.h.

References DfVal, and Val.

Referenced by GetSelPp(), GetValBool(), GetValFlt(), GetValInt(), GetValStr(), and GetValValV().

{if (Val==TPpVal()){return DfVal;} else {return Val;}}

Here is the caller graph for this function:

TBool TPp::GetValBool ( ) const [inline]

Definition at line 184 of file pp.h.

References TPpVal::GetBool(), and GetVal().

{return GetVal().GetBool();}

Here is the call graph for this function:

TBool TPp::GetValBool ( const TStr IdPath) const [inline]

Definition at line 187 of file pp.h.

References GetPp().

                                             {
    return GetPp(IdPath)->GetVal().GetBool();}

Here is the call graph for this function:

TFlt TPp::GetValFlt ( ) const [inline]

Definition at line 200 of file pp.h.

References TPpVal::GetFlt(), and GetVal().

{return GetVal().GetFlt();}

Here is the call graph for this function:

TFlt TPp::GetValFlt ( const TStr IdPath) const [inline]

Definition at line 203 of file pp.h.

References GetPp().

                                           {
    return GetPp(IdPath)->GetVal().GetFlt();}

Here is the call graph for this function:

TInt TPp::GetValInt ( ) const [inline]

Definition at line 192 of file pp.h.

References TPpVal::GetInt(), and GetVal().

{return GetVal().GetInt();}

Here is the call graph for this function:

TInt TPp::GetValInt ( const TStr IdPath) const [inline]

Definition at line 195 of file pp.h.

References GetPp().

                                           {
    return GetPp(IdPath)->GetVal().GetInt();}

Here is the call graph for this function:

TStr TPp::GetValStr ( ) const [inline]

Definition at line 208 of file pp.h.

References TPpVal::GetStr(), and GetVal().

{return GetVal().GetStr();}

Here is the call graph for this function:

TStr TPp::GetValStr ( const TStr IdPath) const [inline]

Definition at line 211 of file pp.h.

References GetPp().

                                           {
    return GetPp(IdPath)->GetVal().GetStr();}

Here is the call graph for this function:

TPpValV TPp::GetValValV ( ) const [inline]

Definition at line 216 of file pp.h.

References GetVal(), and TPpVal::GetValV().

{return GetVal().GetValV();}

Here is the call graph for this function:

TPpValV TPp::GetValValV ( const TStr IdPath) const [inline]

Definition at line 219 of file pp.h.

References GetPp().

                                               {
    return GetPp(IdPath)->GetVal().GetValV();}

Here is the call graph for this function:

int TPp::GetValVTag ( ) const [inline]

Definition at line 127 of file pp.h.

References ValVTag.

{return ValVTag;}
void TPp::IAssertSubPp ( ) const [inline, private]

Definition at line 82 of file pp.h.

References IAssert, ptSel, ptSet, and Tag.

Referenced by AddPp(), GetPp(), GetPps(), and IsPp().

{IAssert((int(Tag)==ptSel)||(int(Tag)==ptSet));}

Here is the caller graph for this function:

bool TPp::IsPp ( const TStr IdNm) const [inline]

Definition at line 150 of file pp.h.

References GetPpN(), and IAssertSubPp().

Referenced by PutVal().

{IAssertSubPp(); return GetPpN(IdNm)!=-1;}

Here is the call graph for this function:

Here is the caller graph for this function:

bool TPp::IsPp ( const TStr IdNm,
PPp Pp 
) const [inline]

Definition at line 151 of file pp.h.

References GetPp(), GetPpN(), and IAssertSubPp().

                                             {
    IAssertSubPp(); int PpN=GetPpN(IdNm);
    if (PpN==-1){return false;} else {Pp=GetPp(PpN); return true;}}

Here is the call graph for this function:

static PPp TPp::Load ( TSIn SIn) [inline, static]

Definition at line 107 of file pp.h.

References TPp().

{return new TPp(SIn);}

Here is the call graph for this function:

static PPp TPp::LoadTxt ( const PSIn SIn) [inline, static]

Definition at line 227 of file pp.h.

References iloCmtAlw, iloSigNum, and oloCsSens.

Referenced by LoadTxt().

                                     {
    TILx Lx(SIn, TFSet()|iloCmtAlw|iloSigNum|oloCsSens); return LoadTxt(Lx);}

Here is the caller graph for this function:

PPp TPp::LoadTxt ( TILx Lx) [static]

Definition at line 173 of file pp.cpp.

References TVec< TVal >::Add(), CcValV, DescNm, DfVal, TILx::GetIdStr(), TILx::GetQStr(), TILx::GetSym(), TILx::GetVar(), IdNm, TILx::IsVar(), TPpVal::LoadTxt(), LoadTxt(), MnVal, MxVal, TILx::PeekSym(), PpNm, PpV, ptSel, ptSet, ptUndef, ptValV, syColon, syEq, syGtr, syLBrace, syLBracket, syLss, syRBrace, syRBracket, Tag, TPp(), Val, and ValVTag.

                        {
  Lx.GetSym(syLBracket);
  TStr IdNm=Lx.GetIdStr();
  TStr DescNm;
  if (Lx.PeekSym()==syLBracket){
    Lx.GetSym(syLBracket); DescNm=Lx.GetQStr(); Lx.GetSym(syRBracket);
  }
  Lx.GetSym(syColon);
  TPpTagVal Tag=TPpTag::LoadTxt(Lx);
  TPpTagVal ValVTag=ptUndef;
  if (Tag==ptValV){
    Lx.GetSym(syLBracket); ValVTag=TPpTag::LoadTxt(Lx); Lx.GetSym(syRBracket);}
  TPpVal Val;
  if (Lx.PeekSym()==syEq){
    Lx.GetSym(syEq); Val=TPpVal::LoadTxt(Lx);}
  TPpVal DfVal;
  if (Lx.PeekSym()==syLBracket){
    Lx.GetSym(syLBracket); DfVal=TPpVal::LoadTxt(Lx); Lx.GetSym(syRBracket);}
  bool IsMnMxValDef=false; TPpVal MnVal, MxVal;
  if (Lx.PeekSym()==syLss){
    Lx.GetSym(syLss);
    IsMnMxValDef=true; MnVal=TPpVal::LoadTxt(Lx); MxVal=TPpVal::LoadTxt(Lx);
    Lx.GetSym(syGtr);
  }
  TPpValV CcValV;
  if (Lx.PeekSym()==syLBrace){
    Lx.GetSym(syLBrace);
    while (Lx.PeekSym()!=syRBrace){CcValV.Add(TPpVal::LoadTxt(Lx));}
    Lx.GetSym(syRBrace);
  }
  TPpV PpV;
  if ((Tag==ptSel)||(Tag==ptSet)){
    while (Lx.IsVar(PpNm)){
      Lx.GetVar(PpNm); PpV.Add(LoadTxt(Lx));}
  }
  Lx.GetSym(syRBracket);
  // construct property
  PPp Pp=PPp(new TPp(IdNm, DescNm, Tag, ValVTag));
  Pp->AddPpV(PpV);
  Pp->PutCcValV(CcValV);
  if (IsMnMxValDef){Pp->PutMnMxVal(MnVal, MxVal);}
  Pp->PutDfVal(DfVal);
  Pp->PutVal(Val);
  // return property
  return Pp;
}

Here is the call graph for this function:

TPp& TPp::operator= ( const TPp Pp) [inline]

Definition at line 114 of file pp.h.

References CcValV, DescNm, DfVal, IdNm, MnVal, MxVal, PpV, Tag, UcIdNm, Val, and ValVTag.

                               {
    if (this!=&Pp){
      IdNm=Pp.IdNm; UcIdNm=Pp.UcIdNm; DescNm=Pp.DescNm;
      Tag=Pp.Tag; ValVTag=Pp.ValVTag;
      Val=Pp.Val; DfVal=Pp.DfVal; MnVal=Pp.MnVal; MxVal=Pp.MxVal;
      CcValV=Pp.CcValV; PpV=Pp.PpV;}
    return *this;}
void TPp::PutCcValV ( const TPpValV CcValV) [inline]

Definition at line 143 of file pp.h.

References AddCcVal(), and TVec< TVal >::Len().

                                       {
    for (int CcValN=0; CcValN<CcValV.Len(); CcValN++){AddCcVal(CcValV[CcValN]);}}

Here is the call graph for this function:

void TPp::PutDfVal ( const TPpVal _DfVal) [inline]

Definition at line 132 of file pp.h.

References DfVal, PutVal(), and Val.

{PutVal(_DfVal); DfVal=Val;}

Here is the call graph for this function:

void TPp::PutMnMxVal ( const TPpVal _MnVal,
const TPpVal _MxVal 
) [inline]

Definition at line 134 of file pp.h.

References TPpVal::GetTag(), IAssert, MnVal, MxVal, ptFlt, ptInt, and Tag.

                                                             {
    IAssert((int(Tag)==ptInt)||(int(Tag)==ptFlt));
    IAssert((Tag==_MnVal.GetTag())&&(Tag==_MxVal.GetTag()));
    MnVal=_MnVal; MxVal=_MxVal;}

Here is the call graph for this function:

void TPp::PutVal ( const TPpVal _Val)

Definition at line 130 of file pp.cpp.

References CcValV, Fail, TPpVal::GetInt(), TPpVal::GetStr(), TPpVal::GetTag(), IAssert, IsPp(), TVec< TVal >::Len(), MnVal, MxVal, PpV, ptBool, ptFlt, ptInt, ptSel, ptSet, ptStr, ptUndef, ptValV, TVec< TVal >::SearchForw(), Tag, and Val.

Referenced by PutDfVal(), PutValBool(), PutValFlt(), PutValInt(), PutValStr(), and PutValValV().

                                  {
  Val=_Val;
  if (Val.GetTag()!=ptUndef){
    switch (Tag){
      case ptUndef: Fail; break;
      case ptBool: IAssert(Val.GetTag()==int(Tag)); break;
      case ptInt:
      case ptFlt:
        IAssert(Val.GetTag()==int(Tag));
        if (MnVal.GetTag()!=ptUndef){IAssert(MnVal<=Val);}
        if (MxVal.GetTag()!=ptUndef){IAssert(Val<=MxVal);}
        break;
      case ptStr:
        if (Val.GetTag()==ptInt){Val=CcValV[Val.GetInt()];}
        IAssert(Val.GetTag()==ptStr);
        IAssert((CcValV.Len()==0)||(CcValV.SearchForw(Val)!=-1)); break;
      case ptValV:{
        IAssert(Val.GetTag()==int(Tag));
        Fail; //**TPpValV ValV=Val.GetValV();
        //**for (int ValN=0; ValN<ValV.Len(); ValN++){
          //**IAssert(ValV[ValN].GetTag()==int(ValVTag));}
        break;}
      case ptSel:
        if (Val.GetTag()==ptInt){Val=TPpVal(PpV[Val.GetInt()]->GetIdNm());}
        IAssert((Val.GetTag()==ptStr)&&(IsPp(Val.GetStr()))); break;
      case ptSet: Fail; break;
      default: Fail;
    }
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

void TPp::PutValBool ( const bool &  Val) [inline]

Definition at line 183 of file pp.h.

References PutVal().

Here is the call graph for this function:

void TPp::PutValBool ( const TStr IdPath,
const bool &  Val 
) [inline]

Definition at line 185 of file pp.h.

References GetPp().

                                                      {
    GetPp(IdPath)->PutVal(TPpVal(Val));}

Here is the call graph for this function:

void TPp::PutValFlt ( const double &  Val) [inline]

Definition at line 199 of file pp.h.

References PutVal().

Here is the call graph for this function:

void TPp::PutValFlt ( const TStr IdPath,
const double &  Val 
) [inline]

Definition at line 201 of file pp.h.

References GetPp().

                                                       {
    GetPp(IdPath)->PutVal(TPpVal(Val));}

Here is the call graph for this function:

void TPp::PutValInt ( const int &  Val) [inline]

Definition at line 191 of file pp.h.

References PutVal().

Here is the call graph for this function:

void TPp::PutValInt ( const TStr IdPath,
const int &  Val 
) [inline]

Definition at line 193 of file pp.h.

References GetPp().

                                                    {
    GetPp(IdPath)->PutVal(TPpVal(Val));}

Here is the call graph for this function:

void TPp::PutValStr ( const TStr Val) [inline]

Definition at line 207 of file pp.h.

References PutVal().

{PutVal(TPpVal(Val));}

Here is the call graph for this function:

void TPp::PutValStr ( const TStr IdPath,
const TStr Val 
) [inline]

Definition at line 209 of file pp.h.

References GetPp().

                                                     {
    GetPp(IdPath)->PutVal(TPpVal(Val));}

Here is the call graph for this function:

void TPp::PutValValV ( const TPpValV Val) [inline]

Definition at line 215 of file pp.h.

References PutVal().

{PutVal(TPpVal(Val));}

Here is the call graph for this function:

void TPp::PutValValV ( const TStr IdPath,
const TPpValV Val 
) [inline]

Definition at line 217 of file pp.h.

References GetPp().

                                                         {
    GetPp(IdPath)->PutVal(TPpVal(Val));}

Here is the call graph for this function:

void TPp::Save ( TSOut SOut) [inline]

Definition at line 108 of file pp.h.

References CcValV, DescNm, DfVal, IdNm, MnVal, MxVal, PpV, TPpVal::Save(), TVec< TVal >::Save(), TStr::Save(), TInt::Save(), Tag, UcIdNm, Val, and ValVTag.

                        {
    IdNm.Save(SOut); UcIdNm.Save(SOut); DescNm.Save(SOut);
    Tag.Save(SOut); ValVTag.Save(SOut);
    Val.Save(SOut); DfVal.Save(SOut); MnVal.Save(SOut); MxVal.Save(SOut);
    CcValV.Save(SOut); PpV.Save(SOut);}

Here is the call graph for this function:

void TPp::SaveTxt ( const PSOut SOut) const [inline]

Definition at line 229 of file pp.h.

References oloCmtAlw, oloCsSens, oloFrcEoln, and oloSigNum.

Referenced by SaveTxt().

Here is the caller graph for this function:

void TPp::SaveTxt ( TOLx Lx,
const int &  Lev = 0 
) const

Definition at line 220 of file pp.cpp.

References CcValV, DescNm, DfVal, TStr::Empty(), TPpVal::GetTag(), IdNm, TVec< TVal >::Len(), MnVal, MxVal, PpNm, PpV, ptSel, ptSet, ptUndef, ptValV, TOLx::PutIdStr(), TOLx::PutQStr(), TOLx::PutSym(), TOLx::PutVar(), TPpVal::SaveTxt(), SaveTxt(), syColon, syEq, syGtr, syLBrace, syLBracket, syLss, syRBrace, syRBracket, Tag, Val, and ValVTag.

                                                {
  Lx.PutSym(syLBracket);
  //Lx.PutIndent(Lev);
  Lx.PutIdStr(IdNm);
  if (!DescNm.Empty()){
    Lx.PutSym(syLBracket); Lx.PutQStr(DescNm); Lx.PutSym(syRBracket);}
  Lx.PutSym(syColon);
  TPpTag::SaveTxt(Lx, Tag);
  if (int(Tag)==ptValV){
    Lx.PutSym(syLBracket); TPpTag::SaveTxt(Lx, ValVTag); Lx.PutSym(syRBracket);}
  if (Val.GetTag()!=ptUndef){
    Lx.PutSym(syEq); Val.SaveTxt(Lx);
  }
  if (DfVal.GetTag()!=ptUndef){
    Lx.PutSym(syLBracket); DfVal.SaveTxt(Lx); Lx.PutSym(syRBracket);}
  if ((MnVal.GetTag()!=ptUndef)||(MxVal.GetTag()!=ptUndef)){
    Lx.PutSym(syLss); MnVal.SaveTxt(Lx); MxVal.SaveTxt(Lx); Lx.PutSym(syGtr);
  }
  if (CcValV.Len()>0){
    Lx.PutSym(syLBrace);
    for (int CcValN=0; CcValN<CcValV.Len(); CcValN++){
      CcValV[CcValN].SaveTxt(Lx);}
    Lx.PutSym(syRBrace);
  }
  if ((int(Tag)==ptSel)||(int(Tag)==ptSet)){
    for (int PpN=0; PpN<PpV.Len(); PpN++){
      Lx.PutVar(PpNm); PpV[PpN]->SaveTxt(Lx, Lev+1);}
  }
  Lx.PutSym(syRBracket);
}

Here is the call graph for this function:


Friends And Related Function Documentation

friend class TPt< TPp > [friend]

Definition at line 234 of file pp.h.


Member Data Documentation

TPpValV TPp::CcValV [private]

Definition at line 80 of file pp.h.

Referenced by AddCcVal(), GetCcVal(), GetCcVals(), LoadTxt(), operator=(), PutVal(), Save(), and SaveTxt().

TCRef TPp::CRef [private]

Definition at line 72 of file pp.h.

TStr TPp::DescNm [private]

Definition at line 76 of file pp.h.

Referenced by AddPpFlt(), AddPpInt(), AddPpStr(), GetChA(), GetDescNm(), GetSetPp(), LoadTxt(), operator=(), Save(), and SaveTxt().

TPpVal TPp::DfVal [private]

Definition at line 78 of file pp.h.

Referenced by AddPpStr(), GetDfVal(), GetVal(), LoadTxt(), operator=(), PutDfVal(), Save(), and SaveTxt().

TStr TPp::IdNm [private]

Definition at line 76 of file pp.h.

Referenced by GetChA(), GetIdNm(), GetPp(), LoadTxt(), operator=(), Save(), and SaveTxt().

TPpVal TPp::MnVal [private]

Definition at line 79 of file pp.h.

Referenced by GetMnVal(), LoadTxt(), operator=(), PutMnMxVal(), PutVal(), Save(), and SaveTxt().

TPpVal TPp::MxVal [private]

Definition at line 79 of file pp.h.

Referenced by GetMxVal(), LoadTxt(), operator=(), PutMnMxVal(), PutVal(), Save(), and SaveTxt().

TStr TPp::PpNm = "Pp" [static, private]

Definition at line 74 of file pp.h.

Referenced by LoadTxt(), and SaveTxt().

TPpV TPp::PpV [private]

Definition at line 81 of file pp.h.

Referenced by AddPp(), GetChA(), GetPp(), GetPpN(), GetPps(), LoadTxt(), operator=(), PutVal(), Save(), and SaveTxt().

TStr TPp::UcIdNm [private]

Definition at line 76 of file pp.h.

Referenced by GetPpN(), GetUcIdNm(), operator=(), and Save().

TPpVal TPp::Val [private]

Definition at line 78 of file pp.h.

Referenced by GetChA(), GetVal(), LoadTxt(), operator=(), PutDfVal(), PutVal(), Save(), and SaveTxt().

TInt TPp::ValVTag [private]

Definition at line 77 of file pp.h.

Referenced by GetValVTag(), LoadTxt(), operator=(), Save(), SaveTxt(), and TPp().


The documentation for this class was generated from the following files: