TStr TNEANetMP::GetNodeAttrValue(const int& NId, const TStrIntPrH::TIter& NodeHI) const { if (NodeHI.GetDat().Val1 == IntType) { return (this->VecOfIntVecsN.GetVal( this->KeyToIndexTypeN.GetDat(NodeHI.GetKey()).Val2).GetVal(NodeH.GetKeyId(NId))).GetStr(); } else if(NodeHI.GetDat().Val1 == StrType) { return this->VecOfStrVecsN.GetVal( this->KeyToIndexTypeN.GetDat(NodeHI.GetKey()).Val2).GetVal(NodeH.GetKeyId(NId)); } else if (NodeHI.GetDat().Val1 == FltType) { return (this->VecOfFltVecsN.GetVal( this->KeyToIndexTypeN.GetDat(NodeHI.GetKey()).Val2).GetVal(NodeH.GetKeyId(NId))).GetStr(); } return TStr::GetNullStr(); }
TStr TNEANet::GetEdgeAttrValue(const int& EId, const TStrIntPrH::TIter& EdgeHI) const { if (EdgeHI.GetDat().Val1 == IntType) { return (this->VecOfIntVecsE.GetVal( this->KeyToIndexTypeE.GetDat(EdgeHI.GetKey()).Val2).GetVal(EId)).GetStr(); } else if(EdgeHI.GetDat().Val1 == StrType) { return this->VecOfStrVecsE.GetVal( this->KeyToIndexTypeE.GetDat(EdgeHI.GetKey()).Val2).GetVal(EId); } else if (EdgeHI.GetDat().Val1 == FltType) { return (this->VecOfFltVecsE.GetVal( this->KeyToIndexTypeE.GetDat(EdgeHI.GetKey()).Val2).GetVal(EId)).GetStr(); } return TStr::GetNullStr(); }
void TNEANet::FltAttrNameNI(const TInt& NId, TStrIntPrH::TIter NodeHI, TStrV& Names) const { Names = TVec<TStr>(); while (!NodeHI.IsEnd()) { if (NodeHI.GetDat().Val1 == FltType && !NodeAttrIsFltDeleted(NId, NodeHI)) { Names.Add(NodeHI.GetKey()); } NodeHI++; } }
void TNEANet::AttrNameNI(const TInt& NId, TStrIntPrH::TIter NodeHI, TStrV& Names) const { Names = TVec<TStr>(); while (!NodeHI.IsEnd()) { if (!NodeAttrIsDeleted(NId, NodeHI)) { Names.Add(NodeHI.GetKey()); } NodeHI++; } }
void TNEANet::FltAttrNameEI(const TInt& EId, TStrIntPrH::TIter EdgeHI, TStrV& Names) const { Names = TVec<TStr>(); while (!EdgeHI.IsEnd()) { if (EdgeHI.GetDat().Val1 == FltType && !EdgeAttrIsFltDeleted(EId, EdgeHI)) { Names.Add(EdgeHI.GetKey()); } EdgeHI++; } }
void TNEANet::AttrNameEI(const TInt& EId, TStrIntPrH::TIter EdgeHI, TStrV& Names) const { Names = TVec<TStr>(); while (!EdgeHI.IsEnd()) { if (!EdgeAttrIsDeleted(EId, EdgeHI)) { Names.Add(EdgeHI.GetKey()); } EdgeHI++; } }
bool TNEANet::EdgeAttrIsFltDeleted(const int& EId, const TStrIntPrH::TIter& EdgeHI) const { return (EdgeHI.GetDat().Val1 == FltType && GetFltAttrDefaultE(EdgeHI.GetKey()) == this->VecOfFltVecsE.GetVal( this->KeyToIndexTypeE.GetDat(EdgeHI.GetKey()).Val2).GetVal(EId)); }
bool TNEANet::NodeAttrIsFltDeleted(const int& NId, const TStrIntPrH::TIter& NodeHI) const { return (NodeHI.GetDat().Val1 == FltType && GetFltAttrDefaultN(NodeHI.GetKey()) == this->VecOfFltVecsN.GetVal( this->KeyToIndexTypeN.GetDat(NodeHI.GetKey()).Val2).GetVal(NId)); }
bool TNEANetMP::EdgeAttrIsStrDeleted(const int& EId, const TStrIntPrH::TIter& EdgeHI) const { return (EdgeHI.GetDat().Val1 == StrType && GetStrAttrDefaultE(EdgeHI.GetKey()) == this->VecOfStrVecsE.GetVal( this->KeyToIndexTypeE.GetDat(EdgeHI.GetKey()).Val2).GetVal(EdgeH.GetKeyId(EId))); }
bool TNEANetMP::NodeAttrIsStrDeleted(const int& NId, const TStrIntPrH::TIter& NodeHI) const { return (NodeHI.GetDat().Val1 == StrType && GetStrAttrDefaultN(NodeHI.GetKey()) == this->VecOfStrVecsN.GetVal( this->KeyToIndexTypeN.GetDat(NodeHI.GetKey()).Val2).GetVal(NodeH.GetKeyId(NId))); }