一、概述
progress_timer和progress_display这两个类定义在文件progress.hpp。progress_timer是继承自timer的一个定时器,progress_timer的行为类似timer函数,只是progress_timer的析构函数在适当的地方以正确的形式展示一条消逝的时间信息。也就是说,该函数会在析构时自动输出时间。progress_display在适当的地方以适当的形式显示已程序的执行过程,也就是一个进度条,这样它可以提供一个友好的用户界面。
二、类的代码详解
#ifndef BOOST_PROGRESS_HPP
#define BOOST_PROGRESS_HPP
#include <boost/timer.hpp>
#include <boost/noncopyable.hpp>
#include <boost/cstdint.hpp> //为是使用这个变量uintmax_t
#include <iostream>
#include <string>
namespace boost {
// progress_timer类和timer一样,除了析构函数能在合适的地方以适当的形式显示已经消逝的时间信息
class progress_timer : public timer, private noncopyable
{
public:
explicit progress_timer( std::ostream & os = std::cout )
// os显示: 执行可能会被忽略,特别是在嵌入式系统中
: timer(), noncopyable(), m_os(os) {}
~progress_timer()
{
try
{
std::istream::fmtflags old_flags = m_os.setf( std::istream::fixed,
std::istream::floatfield );
std::streamsize old_prec = m_os.precision( 2 );
m_os << elapsed() << " s\n"
<< std::endl;
m_os.flags( old_flags );

本文介绍了Boost库中的Progress组件,包括progress_timer和progress_display两个类。progress_timer能够在析构时自动输出执行时间,而progress_display则以进度条的形式显示程序执行过程,提供友好的用户界面。
最低0.47元/天 解锁文章
459

被折叠的 条评论
为什么被折叠?



