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


C++ database::referenced_package_digests方法代码示例

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


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

示例1: fprintf

void
expire(const symboldb_options &opt, database &db)
{
  if (opt.output != symboldb_options::quiet) {
    fprintf(stderr, "info: expiring URL cache\n");
  }
  db.expire_url_cache();

  if (opt.output != symboldb_options::quiet) {
    fprintf(stderr, "info: expiring unreferenced packages\n");
  }
  db.expire_packages();

  if (opt.output != symboldb_options::quiet) {
    fprintf(stderr, "info: expiring file contents\n");
  }
  db.expire_file_contents();

  if (opt.output != symboldb_options::quiet) {
    fprintf(stderr, "info: expiring java classes\n");
  }
  db.expire_java_classes();

  if (opt.output != symboldb_options::quiet) {
    fprintf(stderr, "info: expiring unused RPMs\n");
  }
  {
    typedef std::vector<std::vector<unsigned char> > digvec;
    std::tr1::shared_ptr<file_cache> fcache(opt.rpm_cache());
    digvec fcdigests;
    fcache->digests(fcdigests);
    std::sort(fcdigests.begin(), fcdigests.end());
    digvec dbdigests;
    db.referenced_package_digests(dbdigests);
    digvec result;
    std::set_difference(fcdigests.begin(), fcdigests.end(),
			dbdigests.begin(), dbdigests.end(),
			std::back_inserter(result));
    fd_handle dir;
    dir.open_directory(opt.rpm_cache_path().c_str());
    for (digvec::iterator p = result.begin(), end = result.end();
	 p != end; ++p) {
      dir.unlinkat(base16_encode(p->begin(), p->end()).c_str(), 0);
    }
  }
}
开发者ID:pombredanne,项目名称:symboldb,代码行数:46,代码来源:expire.cpp

示例2: fcache

static int
do_show_stale_cached_rpms(const symboldb_options &opt, database &db)
{
  typedef std::vector<std::vector<unsigned char> > digvec;
  std::tr1::shared_ptr<file_cache> fcache(opt.rpm_cache());
  digvec fcdigests;
  fcache->digests(fcdigests);
  std::sort(fcdigests.begin(), fcdigests.end());
  digvec dbdigests;
  db.referenced_package_digests(dbdigests);
  digvec result;
  std::set_difference(fcdigests.begin(), fcdigests.end(),
		      dbdigests.begin(), dbdigests.end(),
		      std::back_inserter(result));
  for (digvec::iterator p = result.begin(), end = result.end();
       p != end; ++p) {
    printf("%s\n", base16_encode(p->begin(), p->end()).c_str());
  }
  return 0;
}
开发者ID:pombredanne,项目名称:symboldb,代码行数:20,代码来源:symboldb.cpp


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