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


C++ tokenizer::any方法代码示例

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


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

示例1: update

template <typename R> bool extract_control(R& result,tokenizer& tokenizer)
{
 result.clear();
 
 //controls
 
 dictionary<string,id<string>> controls=
 {
  "\r",symbols()._cr,
  "\n",symbols()._lf
 };

 //buffer
 
 array<ascii> buffer;

 //any
 
 if(!tokenizer.any(buffer,controls.keys()))
  return false;
  
 //commit
 
 result=buffer;

 update(controls[buffer.join("")],buffer);
 
 return true;
}
开发者ID:vmorgulys,项目名称:sandbox,代码行数:29,代码来源:class.token.h.extract.cpp

示例2: if

template <typename R> bool extract_escape(R& result,tokenizer& tokenizer)
{
 result.clear();
 
 //controls
 
 dictionary<string,ascii> controls=
 {
  "\\r",'\r',
  "\\n",'\n',
  "\\t",'\t'
 };
 
 //buffer
 
 R content;
 array<ascii> buffer;
 array<ascii> current;

 //escape
 
 if(tokenizer.delimit(current,"\\x"))
 {
  //hexa
     
  buffer.append(current);
  
  //hexa

  if(!tokenizer.xdigit(current,2))
   return false;

  buffer.append(current);
   
  //parse with c api
   
  int value=0;
   
  if(!current.join("").parse_integer(value,16))
   return false;
    
  //byte
   
  if(!between(value,0,256))
   return false;
    
  //push
    
  content.push(value);
 }
 else if(tokenizer.any(current,controls.keys()))
 {
  //control

  buffer.append(current);  
  content.push(controls[current]);
 }
 else if(tokenizer.delimit(current,"\\"))
 {
  //backslash

  buffer.append(current);
  
  //next

  if(!tokenizer.shift(current,1))
   return false;
     
  content.append(current);
  buffer.append(current);
 }
 else
  return false;
       
 //commit
 
 result=content;

 update(symbols()._escape,buffer);
 
 return true;
}
开发者ID:vmorgulys,项目名称:sandbox,代码行数:82,代码来源:class.token.h.extract.cpp


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