本文整理汇总了C++中CIntVector::_AppendElt方法的典型用法代码示例。如果您正苦于以下问题:C++ CIntVector::_AppendElt方法的具体用法?C++ CIntVector::_AppendElt怎么用?C++ CIntVector::_AppendElt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CIntVector
的用法示例。
在下文中一共展示了CIntVector::_AppendElt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LoadIntVectorVector
/* load a matrix of integer values */
bool CIndexManager::LoadIntVectorVector(const CString& FileName, CVector<CIntVector>& Target, bool Verbose){
Target.RemoveAll();
static CIntVector EmptyVector;
bool Intervalled = false;
CMMapFile FastFile(FileName);
if (! FastFile.MMap(MMAP_READOPENMODE))
return false;
long fSize = FastFile.GetSize();
if (fSize && FastFile.GetMem()) {
m_Progress.Init(10, Verbose);
CString Line;
while (FastFile.ReadLine(&Line) >= 0) {
if (g_pHandler->GetSignalSigterm())
return false;
m_Progress.Show(FastFile.GetOffset(), fSize, Verbose);
if (!Line.GetLength()) {
Target += EmptyVector;
continue;
}
int PrevPos = 0;
int IntervalPos = -1;
CIntVector LineVector;
for (register int Pos = 0; Pos <= (int) Line.GetLength(); Pos++) {
if ((Pos == (int) Line.GetLength())||(Line[Pos] == ' ')) {
if (IntervalPos >= 0) {
LineVector._AppendInt(Line.GetInt(PrevPos, IntervalPos - PrevPos), Line.GetInt(IntervalPos+1, Pos - IntervalPos-1));
IntervalPos = -1;
} else {
if (Intervalled) LineVector._AppendElt(Line.GetInt(PrevPos, Pos - PrevPos));
else LineVector.AddElt(Line.GetInt(PrevPos, Pos - PrevPos));
}
PrevPos = Pos + 1;
} else if (Line[Pos] == '-') {
if (!Intervalled) Intervalled = true;
IntervalPos = Pos;
}
}
Target += LineVector;
}
m_Progress.Finish(Verbose);
}
cout << "[" << Target.GetSize() << " lines]" << endl;
return true;
}