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


C++ Directory::end方法代码示例

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


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

示例1: if

std::vector<std::string>
System::opendir_recursive(const std::string& pathname)
{
  std::vector<std::string> lst;
  try
  {
    Directory dir = opendir(pathname);
    for(auto it = dir.begin(); it != dir.end(); ++it)
    {
      if (it->type == DE_DIRECTORY)
      {
        std::vector<std::string> subdir = opendir_recursive(Pathname::join(pathname, it->name));
        lst.insert(lst.end(), subdir.begin(), subdir.end());
      }
      else if (it->type == DE_FILE)
      {
        lst.push_back(Pathname::join(pathname, it->name));
      }
    }
  }
  catch(const std::exception& err)
  {
    log_warn("%1%", err.what());
  }
  return lst;
}
开发者ID:fsantanna,项目名称:pingus,代码行数:26,代码来源:system.cpp

示例2: ExceptionMessage

Directory * StaticAPI::allocate(Directory & container, const Token & token, const char * id, bool regist)
{
    static unsigned int assignment_count = 0;
    Directory * node;

    if(!(token == Token::IDENTIFIER || token == Token::INTEGER))
        ExceptionMessage("Given token(%) is not suitable for an object identifier.","オブジェクトの識別名として利用できない字句(%)が指定されました") << token << throwException;

    if(regist && (token == Token::INTEGER && token.value <= 0))
        ExceptionMessage("Cannot assign an ID number less or equal to 0.","0以下のID番号を設定することはできません").throwException();


    node = container.findChild(id);
    if(node != 0)
    {
        Directory::iterator scope;

        scope = node->begin();
        while(scope != node->end())
        {
            if((*scope).first.compare(token) == 0)
                ExceptionMessage("Identifier % is already used.","識別名%はすでに利用されています") << token << throwException;
            ++ scope;
        }
    }else
        node = container.addChild(id);

    node = node->addChild(token);
    (*node)["#order"] = assignment_count++;

    if(token == Token::IDENTIFIER)
    {
        if(regist)
        {
            Directory * scope = container.openChild("/","identifier",token.c_str(),NULL);
            if(*scope == Directory::INTEGER)
                *node = scope->toInteger();
        }
    }else
        *node = token.value;

    last = node;
    return node;
}
开发者ID:koban,项目名称:Uzume-Aqua548,代码行数:44,代码来源:parser.cpp

示例3: if

std::vector<std::string>
System::opendir_recursive(const std::string& pathname)
{
  std::vector<std::string> lst;
  Directory dir = opendir(pathname);
  for(auto it = dir.begin(); it != dir.end(); ++it)
  {
    if (it->type == DE_DIRECTORY)
    {
      std::vector<std::string> subdir = opendir_recursive(pathname + "/" + it->name);
      lst.insert(lst.end(), subdir.begin(), subdir.end());
    }
    else if (it->type == DE_FILE)
    {
      lst.push_back(pathname + "/" + it->name);
    }
  }
  return lst;
}
开发者ID:jcs12311,项目名称:pingus,代码行数:19,代码来源:system.cpp

示例4:

DirectoryIterator::DirectoryIterator(const Directory& dir)
{
    cur = dir.begin();
    end = dir.end();
    eof = (cur == end);
}
开发者ID:dmidem,项目名称:bshe,代码行数:6,代码来源:DirectoryIterator.cpp


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