本文整理汇总了C++中VectorType::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ VectorType::clear方法的具体用法?C++ VectorType::clear怎么用?C++ VectorType::clear使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VectorType
的用法示例。
在下文中一共展示了VectorType::clear方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: piecesTest
void piecesTest()
{
VectorType<StringPiece, std::allocator<StringPiece> > pieces;
VectorType<StringPiece, std::allocator<StringPiece> > pieces2;
split(',', "a,b,c", pieces);
EXPECT_EQ(pieces.size(), 3);
EXPECT_EQ(pieces[0], "a");
EXPECT_EQ(pieces[1], "b");
EXPECT_EQ(pieces[2], "c");
pieces.clear();
split(',', "a,,c", pieces);
EXPECT_EQ(pieces.size(), 3);
EXPECT_EQ(pieces[0], "a");
EXPECT_EQ(pieces[1], "");
EXPECT_EQ(pieces[2], "c");
pieces.clear();
split(',', "a,,c", pieces, true);
EXPECT_EQ(pieces.size(), 2);
EXPECT_EQ(pieces[0], "a");
EXPECT_EQ(pieces[1], "c");
pieces.clear();
split(',', ",,a,,c,,,", pieces, true);
EXPECT_EQ(pieces.size(), 2);
EXPECT_EQ(pieces[0], "a");
EXPECT_EQ(pieces[1], "c");
pieces.clear();
// test multiple split w/o clear
split(',', ",,a,,c,,,", pieces, true);
EXPECT_EQ(pieces.size(), 2);
EXPECT_EQ(pieces[0], "a");
EXPECT_EQ(pieces[1], "c");
split(',', ",,a,,c,,,", pieces, true);
EXPECT_EQ(pieces.size(), 4);
EXPECT_EQ(pieces[2], "a");
EXPECT_EQ(pieces[3], "c");
pieces.clear();
// test multiple split rounds
split(",", "a_b,c_d", pieces);
EXPECT_EQ(pieces.size(), 2);
EXPECT_EQ(pieces[0], "a_b");
EXPECT_EQ(pieces[1], "c_d");
split("_", pieces[0], pieces2);
EXPECT_EQ(pieces2.size(), 2);
EXPECT_EQ(pieces2[0], "a");
EXPECT_EQ(pieces2[1], "b");
pieces2.clear();
split("_", pieces[1], pieces2);
EXPECT_EQ(pieces2.size(), 2);
EXPECT_EQ(pieces2[0], "c");
EXPECT_EQ(pieces2[1], "d");
pieces.clear();
pieces2.clear();
// test splits that with multi-line delimiter
split("ab", "dabcabkdbkab", pieces, true);
EXPECT_EQ(pieces.size(), 3);
EXPECT_EQ(pieces[0], "d");
EXPECT_EQ(pieces[1], "c");
EXPECT_EQ(pieces[2], "kdbk");
pieces.clear();
string orig = "ab2342asdfv~~!";
split("", orig.c_str(), pieces, true);
EXPECT_EQ(pieces.size(), 1);
EXPECT_EQ(pieces[0], orig);
pieces.clear();
split("452x;o38asfsajsdlfdf.j", "asfds", pieces, true);
EXPECT_EQ(pieces.size(), 1);
EXPECT_EQ(pieces[0], "asfds");
pieces.clear();
split("a", "", pieces, true);
EXPECT_EQ(pieces.size(), 0);
pieces.clear();
split("a", "", pieces);
EXPECT_EQ(pieces.size(), 1);
EXPECT_EQ(pieces[0], "");
pieces.clear();
split("a", "abcdefg", pieces, true);
EXPECT_EQ(pieces.size(), 1);
EXPECT_EQ(pieces[0], "bcdefg");
pieces.clear();
orig = "All, , your base, are , , belong to us";
split(", ", orig, pieces, true);
EXPECT_EQ(pieces.size(), 4);
EXPECT_EQ(pieces[0], "All");
EXPECT_EQ(pieces[1], "your base");
EXPECT_EQ(pieces[2], "are ");
EXPECT_EQ(pieces[3], "belong to us");
//.........这里部分代码省略.........
示例2: splitTest
void splitTest()
{
VectorType<string, std::allocator<string> > parts;
split(',', "a,b,c", parts);
EXPECT_EQ(parts.size(), 3);
EXPECT_EQ(parts[0], "a");
EXPECT_EQ(parts[1], "b");
EXPECT_EQ(parts[2], "c");
parts.clear();
split(',', StringPiece("a,b,c"), parts);
EXPECT_EQ(parts.size(), 3);
EXPECT_EQ(parts[0], "a");
EXPECT_EQ(parts[1], "b");
EXPECT_EQ(parts[2], "c");
parts.clear();
split(',', string("a,b,c"), parts);
EXPECT_EQ(parts.size(), 3);
EXPECT_EQ(parts[0], "a");
EXPECT_EQ(parts[1], "b");
EXPECT_EQ(parts[2], "c");
parts.clear();
split(',', "a,,c", parts);
EXPECT_EQ(parts.size(), 3);
EXPECT_EQ(parts[0], "a");
EXPECT_EQ(parts[1], "");
EXPECT_EQ(parts[2], "c");
parts.clear();
split(',', string("a,,c"), parts);
EXPECT_EQ(parts.size(), 3);
EXPECT_EQ(parts[0], "a");
EXPECT_EQ(parts[1], "");
EXPECT_EQ(parts[2], "c");
parts.clear();
split(',', "a,,c", parts, true);
EXPECT_EQ(parts.size(), 2);
EXPECT_EQ(parts[0], "a");
EXPECT_EQ(parts[1], "c");
parts.clear();
split(',', string("a,,c"), parts, true);
EXPECT_EQ(parts.size(), 2);
EXPECT_EQ(parts[0], "a");
EXPECT_EQ(parts[1], "c");
parts.clear();
split(',', string(",,a,,c,,,"), parts, true);
EXPECT_EQ(parts.size(), 2);
EXPECT_EQ(parts[0], "a");
EXPECT_EQ(parts[1], "c");
parts.clear();
// test multiple split w/o clear
split(',', ",,a,,c,,,", parts, true);
EXPECT_EQ(parts.size(), 2);
EXPECT_EQ(parts[0], "a");
EXPECT_EQ(parts[1], "c");
split(',', ",,a,,c,,,", parts, true);
EXPECT_EQ(parts.size(), 4);
EXPECT_EQ(parts[2], "a");
EXPECT_EQ(parts[3], "c");
parts.clear();
// test splits that with multi-line delimiter
split("ab", "dabcabkdbkab", parts, true);
EXPECT_EQ(parts.size(), 3);
EXPECT_EQ(parts[0], "d");
EXPECT_EQ(parts[1], "c");
EXPECT_EQ(parts[2], "kdbk");
parts.clear();
string orig = "ab2342asdfv~~!";
split("", orig, parts, true);
EXPECT_EQ(parts.size(), 1);
EXPECT_EQ(parts[0], orig);
parts.clear();
split("452x;o38asfsajsdlfdf.j", "asfds", parts, true);
EXPECT_EQ(parts.size(), 1);
EXPECT_EQ(parts[0], "asfds");
parts.clear();
split("a", "", parts, true);
EXPECT_EQ(parts.size(), 0);
parts.clear();
split("a", "", parts);
EXPECT_EQ(parts.size(), 1);
EXPECT_EQ(parts[0], "");
parts.clear();
split("a", StringPiece(), parts, true);
EXPECT_EQ(parts.size(), 0);
parts.clear();
//.........这里部分代码省略.........
示例3: IndivID
Observations
ReadData
::ReadObservations(DataSettings &DS)
{
Observations Obs;
std::ifstream IndivID(DS.GetPathToGroup());
std::ifstream TimePointsFile(DS.GetPathToTimepoints());
std::ifstream LandmarksFile(DS.GetPathToLandmarks());
std::ifstream CognitiveScoresFile(DS.GetPathToCognitiveScores());
std::string GroupLine, TimePointsLine, LandmarksLine, CognitiveScoresLine;
unsigned int CurrentSubjectID = -1;
VectorType TimePoints;
std::vector<VectorType> Landmarks;
std::vector<VectorType> CognitiveScores;
while(getline(IndivID, GroupLine))
{
if(CurrentSubjectID == -1) CurrentSubjectID = std::stoi(GroupLine);
unsigned int NewSubjectID = std::stoi(GroupLine);
getline(TimePointsFile, TimePointsLine);
if(DS.LandmarkPresence()) getline(LandmarksFile, LandmarksLine);
if(DS.CognitiveScoresPresence()) getline(CognitiveScoresFile, CognitiveScoresLine);
/// New subject
if(NewSubjectID != CurrentSubjectID)
{
IndividualObservations Individual(TimePoints);
if(DS.LandmarkPresence()) Individual.AddLandmarks(Landmarks);
if(DS.CognitiveScoresPresence()) Individual.AddCognitiveScores(CognitiveScores);
Obs.AddIndividualData(Individual);
CurrentSubjectID = NewSubjectID;
TimePoints.clear();
Landmarks.clear();
CognitiveScores.clear();
}
TimePoints.push_back(stod(TimePointsLine));
if(DS.LandmarkPresence())
{
VectorType NewObs(DS.GetLandmarksDimension());
int i = 0;
std::stringstream LineStream(LandmarksLine);
std::string cell;
while(std::getline(LineStream, cell, ','))
{
NewObs(i) = std::stod(cell);
++i;
}
Landmarks.push_back(NewObs);
}
if(DS.CognitiveScoresPresence())
{
VectorType NewObs(DS.GetCognitiveScoresDimension());
int i = 0;
std::stringstream LineStream(CognitiveScoresLine);
std::string cell;
while(std::getline(LineStream, cell, ','))
{
NewObs(i) = std::stod(cell);
++i;
}
CognitiveScores.push_back(NewObs);
}
}
IndividualObservations Individual(TimePoints);
if(DS.LandmarkPresence()) Individual.AddLandmarks(Landmarks);
if(DS.CognitiveScoresPresence()) Individual.AddCognitiveScores(CognitiveScores);
Obs.AddIndividualData(Individual);
return Obs;
}