本文整理汇总了C++中TStr::IsChIn方法的典型用法代码示例。如果您正苦于以下问题:C++ TStr::IsChIn方法的具体用法?C++ TStr::IsChIn怎么用?C++ TStr::IsChIn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TStr
的用法示例。
在下文中一共展示了TStr::IsChIn方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TEST(TStr, Search) {
TStr Str = "abcdaaba";
int Len = Str.Len();
EXPECT_EQ(Str.CountCh('a'), 4);
EXPECT_EQ(Str.CountCh('b'), 2);
EXPECT_EQ(Str.CountCh('e'), 0);
EXPECT_TRUE(Str.IsChIn('a'));
EXPECT_TRUE(Str.IsChIn('b'));
EXPECT_FALSE(Str.IsChIn('e'));
EXPECT_TRUE(Str.IsStrIn(Str));
EXPECT_TRUE(Str.IsStrIn(""));
EXPECT_TRUE(Str.IsStrIn("bcd"));
EXPECT_TRUE(Str.IsStrIn("ab"));
EXPECT_FALSE(Str.IsStrIn("eba"));
EXPECT_EQ(Str.CountCh('a', 1), 3);
EXPECT_ANY_THROW(Str.CountCh('a', 10));
EXPECT_EQ(Str.CountCh('b', 2), 1);
EXPECT_EQ(Str.CountCh('e', 1), 0);
EXPECT_EQ(Str.SearchCh('a'), 0);
EXPECT_EQ(Str.SearchCh('b'), 1);
EXPECT_EQ(Str.SearchCh('e'), -1);
EXPECT_EQ(Str.SearchCh('a', 1), 4);
EXPECT_EQ(Str.SearchCh('b', 2), 6);
EXPECT_EQ(Str.SearchCh('e', 1), -1);
EXPECT_EQ(Str.SearchChBack('a'), Len - 1);
EXPECT_EQ(Str.SearchChBack('b'), Len - 2);
EXPECT_EQ(Str.SearchChBack('e'), -1);
EXPECT_EQ(Str.SearchChBack('a', Len - 2), Len - 3);
EXPECT_EQ(Str.SearchChBack('b', Len - 3), 1);;
EXPECT_EQ(Str.SearchChBack('e', 3), -1);
EXPECT_EQ(Str.SearchStr("a"), 0);
EXPECT_EQ(Str.SearchStr("b"), 1);
EXPECT_EQ(Str.SearchStr("e"), -1);
EXPECT_EQ(Str.SearchStr(""), 0);
EXPECT_EQ(Str.SearchStr("a", 1), 4);
EXPECT_EQ(Str.SearchStr("b", 2), 6);
EXPECT_EQ(Str.SearchStr("e", 1), -1);
}
示例2: Split
void TFtrGenSparseNumeric::Split(
const TStr& Str, int& Id, TStr& Val) const {
if (!Str.IsChIn(':')) { TExcept::Throw("Wrong sparse numeric '" + Str + "'!"); }
//split
TStr IdStr; Str.SplitOnCh(IdStr, ':', Val);
// parse id
if (!IdStr.IsInt(Id)) { TExcept::Throw("Wrong sparse numeric '" + Str + "'!"); }
}
示例3: AddVNm
/////////////////////////////////////////////////
// Cyc-Base
int TCycBs::AddVNm(const TStr& VNm){
int VId;
if (VNmToVrtxH.IsKey(VNm.CStr(), VId)){
return VId;
} else {
VId=VNmToVrtxH.AddKey(VNm);
TCycVrtx& Vrtx=VNmToVrtxH[VId];
Vrtx.PutVId(VId);
// set flags based on vertex-name string
if (VNm.IsPrefix("~")){
Vrtx.SetFlag(cvfBackLink);
} else
if (VNm.IsPrefix("#$")&&(!VNm.IsChIn(' '))){
Vrtx.SetFlag(cvfCycL);
if (VNm.Len()>2){
char Ch=VNm[2];
if (('a'<=Ch)&&(Ch<='z')){
Vrtx.SetFlag(cvfCycLPred);
} else {
Vrtx.SetFlag(cvfCycLConst);
}
}
} else
if (VNm.IsPrefix("(#$")){
Vrtx.SetFlag(cvfCycL);
Vrtx.SetFlag(cvfCycLExpr);
} else {
if (VNm.IsFlt()){
Vrtx.SetFlag(cvfNum);
} else {
Vrtx.SetFlag(cvfStr);
}
}
return VId;
}
}