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


C++ ParseNode::Name方法代码示例

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


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

示例1: Prepare

///Предварительный разбор
  void Prepare (const ParseNode& decl)
  {
    for (Parser::Iterator iter=decl.First (); iter; ++iter)
    {
      try
      {        
        ParseNode decl = *iter;

        const char* type = decl.Name ();

        ParserMap::iterator iter = parsers.find (type);

        if (iter == parsers.end () || !iter->second.prepare_handler)
          continue; //игнорирование неизвестных узлов

        iter->second.prepare_handler (decl);
      }
      catch (common::ParserException&)
      {
        //игнорирование, протоколирование уже произведено
      }
      catch (std::exception& e)
      {
        root.Log ().Error (*iter, "%s", e.what ());
      }
      catch (...)
      {
        root.Log ().Error (*iter, "unknown exception");
      }
    }
    
    prepared = true;
  }
开发者ID:untgames,项目名称:funner,代码行数:34,代码来源:sg_xml_scene_parser.cpp

示例2: dump

void dump (const ParseNode& node)
{
  printf ("%s {", node.Name ());

  for (size_t i=0, count=node.AttributesCount (); i<count; i++)
  {
    if (i)
      printf (", ");

    printf ("%s", node.Attribute (i));
  }

  printf ("}\n");
}
开发者ID:untgames,项目名称:funner,代码行数:14,代码来源:parse_utils.cpp

示例3: Parse

void XmlSceneParser::Parse (const ParseNode& decl, Node& parent, SceneContext& context)
{
  try
  {
    for (Parser::Iterator iter=decl.First (); iter; ++iter)
    {
      try
      {
        ParseNode decl = *iter;

        const char* type = decl.Name ();

        Impl::ParserMap::iterator iter = impl->parsers.find (type);

        if (iter == impl->parsers.end () || !iter->second.parse_handler)
          continue; //игнорирование неизвестных узлов

        iter->second.parse_handler (decl, parent, context);
      }
      catch (std::exception& e)
      {
        if (!context.FilterError (e.what ()))
          throw;
        
        print_log (context.LogHandler (), e.what ());
      }
      catch (...)            
      {
        static const char* ERROR_STRING = "unknown exception";
        
        if (!context.FilterError (ERROR_STRING))
          throw;        

        print_log (context.LogHandler (), ERROR_STRING);
      }
    }    
  }
  catch (xtl::exception& e)
  {
    e.touch ("scene_graph::XmlSceneParser::ParseDispatch");
    throw;
  }  
}
开发者ID:untgames,项目名称:funner,代码行数:43,代码来源:sg_xml_scene_parser.cpp

示例4: f

void f (const ParseNode& node)
{
  printf ("node '%s': source='%s' line=%lu\n", node.Name (), node.Source (), node.LineNumber ());

  throw TestException ();
}
开发者ID:untgames,项目名称:funner,代码行数:6,代码来源:parse_for_each_child.cpp


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