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


C++ ResourceUsage::memory方法代码示例

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


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

示例1: overflow

        virtual int overflow(int c) {
            if (!enabled) return c;

            if (lastUser != this) {
                if (column != 0) {
                    os.put('\n');
                    ++lineno;
                    column = 0;
                    mh.stepCount = 0;
                }
                lastUser = this;
            }

            if (c == EOF) return EOF;

            if (column == 0) {
                if (isspace(c)) return c;
                for (int i = mh.indent; i > 0; --i) {
                    os.put(' ');
                    ++column;
                }
            }

            os.put(c);

            if (c == '\n') {
                ++lineno;
                column = 0;
                mh.stepCount = 0;
            }
            else {
                ++column;
            }

            if (c == '.' && ++mh.stepCount >= 50) {
                ResourceUsage usage;
                ResourceUsage diff = usage - mh.prevUsage;
                os << " " << diff.elapsedTime() << ", " << diff.memory()
                        << "\n";
                //        auto backup = os.flags(std::ios::fixed);
                //        os << " " << std::setprecision(2) << diff.utime << "s, ";
                //        os << std::setprecision(0) << diff.maxrss / 1024.0 << "MB\n";
                //        os.flags(backup);
                ++lineno;
                column = 0;
                mh.prevUsage = usage;
                mh.stepCount = 0;
            }

            return c;
        }
开发者ID:an3iitho,项目名称:graphillion,代码行数:51,代码来源:MessageHandler.hpp

示例2: step

    MessageHandler_& step(char dot = '-') {
        if (!enabled) return *this;

        if (!stepping && dotTime + 4 < std::time(0)) {
            *this << '\n';
            stepping = true;
        }

        if (stepping) {
            if (stepCount % 50 != column - indent) {
                *this << '\n';
                for (int i = stepCount % 50; i > 0; --i) {
                    *this << '-';
                }
            }
            *this << dot;
            ++stepCount;
            if (column - indent >= 50) {
                ResourceUsage usage;
                ResourceUsage diff = usage - prevUsage;
                *this << std::setw(3) << std::right
                        << (stepCount * 100 / totalSteps);
                *this << "% (" << diff.elapsedTime() << ", " << diff.memory()
                        << ")\n";
                prevUsage = usage;
            }
        }
        else {
            ++stepCount;
            while (dotCount * totalSteps < stepCount * 10) {
                if (dotCount == 0) *this << ' ';
                *this << '.';
                ++dotCount;
                dotTime = std::time(0);
            }
        }

        return *this;
    }
开发者ID:K-Sonoda,项目名称:graphillion,代码行数:39,代码来源:MessageHandler.hpp


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