本文整理汇总了C++中THashSet::FNextKeyId方法的典型用法代码示例。如果您正苦于以下问题:C++ THashSet::FNextKeyId方法的具体用法?C++ THashSet::FNextKeyId怎么用?C++ THashSet::FNextKeyId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类THashSet
的用法示例。
在下文中一共展示了THashSet::FNextKeyId方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
TVec<TPair<TFltV, TFltV> > TLSHash::GetAllCandidatePairs() {
THashSet<TPair<TInt, TInt> > CandidateIdPairs;
for (int i=0; i<Bands; i++) {
TVec<TIntV> BucketVV;
SigBucketVHV[i].GetDatV(BucketVV);
for (int j=0; j<BucketVV.Len(); j++) {
TIntV BucketV = BucketVV[j];
for (int k=0; k<BucketV.Len(); k++) {
for (int l=k+1; l<BucketV.Len(); l++) {
int First = BucketV[k], Second = BucketV[l];
if (First > Second) {
int Temp = First;
First = Second;
Second = Temp;
}
CandidateIdPairs.AddKey(TPair<TInt, TInt> (First, Second));
}
}
}
}
TVec<TPair<TFltV, TFltV> > CandidatePairs;
int Ind = CandidateIdPairs.FFirstKeyId();
while (CandidateIdPairs.FNextKeyId(Ind)) {
TPair<TInt, TInt> IdPair = CandidateIdPairs[Ind];
TPair<TFltV, TFltV> Pair(DataV[IdPair.GetVal1()], DataV[IdPair.GetVal2()]);
CandidatePairs.Add(Pair);
}
return CandidatePairs;
}
示例2: ComputeSignature
TVec<TFltV> TLSHash::GetCandidates(TFltV Datum) {
THashSet<TInt> CandidateIds;
for (int i=0; i<Bands; i++) {
TInt Sig = ComputeSignature(Datum, i);
THash<TInt, TIntV>& SigBucketVH = SigBucketVHV[i];
if (!SigBucketVH.IsKey(Sig)) {
continue;
}
CandidateIds.AddKeyV(SigBucketVH.GetDat(Sig));
}
TVec<TFltV> Candidates;
int Ind = CandidateIds.FFirstKeyId();
while(CandidateIds.FNextKeyId(Ind)) {
int Id = CandidateIds[Ind];
Candidates.Add(DataV[Id]);
}
return Candidates;
}