当前位置: 首页>>代码示例>>C++>>正文


C++ scoped_ptr::find方法代码示例

本文整理汇总了C++中scoped_ptr::find方法的典型用法代码示例。如果您正苦于以下问题:C++ scoped_ptr::find方法的具体用法?C++ scoped_ptr::find怎么用?C++ scoped_ptr::find使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在scoped_ptr的用法示例。


在下文中一共展示了scoped_ptr::find方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: Match

 bool Match(const string& input_string,
            bool full_match,
            string* matched_string) const {
   if (!utf8_regexp_.get()) {
     return false;
   }
   IcuRegExpInput input(input_string);
   UErrorCode status = U_ZERO_ERROR;
   const scoped_ptr<RegexMatcher> matcher(
       utf8_regexp_->matcher(*input.Data(), status));
   bool match_succeeded = full_match
       ? matcher->matches(input.position(), status)
       : matcher->find(input.position(), status);
   if (!match_succeeded || U_FAILURE(status)) {
     return false;
   }
   if (matcher->groupCount() > 0 && matched_string) {
     *matched_string = UnicodeStringToUtf8String(matcher->group(1, status));
   }
   return !U_FAILURE(status);
 }
开发者ID:mrnumber,项目名称:ocaml-phonenumbers,代码行数:21,代码来源:regexp_adapter_icu.c

示例2: Consume

 virtual bool Consume(RegExpInput* input_string,
                      bool anchor_at_start,
                      string* matched_string1,
                      string* matched_string2,
                      string* matched_string3) const {
   DCHECK(input_string);
   if (!utf8_regexp_.get()) {
     return false;
   }
   IcuRegExpInput* const input = static_cast<IcuRegExpInput*>(input_string);
   UErrorCode status = U_ZERO_ERROR;
   const scoped_ptr<RegexMatcher> matcher(
       utf8_regexp_->matcher(*input->Data(), status));
   bool match_succeeded = anchor_at_start
       ? matcher->lookingAt(input->position(), status)
       : matcher->find(input->position(), status);
   if (!match_succeeded || U_FAILURE(status)) {
     return false;
   }
   string* const matched_strings[] = {
     matched_string1, matched_string2, matched_string3
   };
   // If less matches than expected - fail.
   for (size_t i = 0; i < arraysize(matched_strings); ++i) {
     if (matched_strings[i]) {
       // Groups are counted from 1 rather than 0.
       const int group_index = i + 1;
       if (group_index > matcher->groupCount()) {
         return false;
       }
       *matched_strings[i] =
           UnicodeStringToUtf8String(matcher->group(group_index, status));
     }
   }
   input->set_position(matcher->end(status));
   return !U_FAILURE(status);
 }
开发者ID:mrnumber,项目名称:ocaml-phonenumbers,代码行数:37,代码来源:regexp_adapter_icu.c


注:本文中的scoped_ptr::find方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。