📄 reference_counter.c
字号:
// $Id: reference_counter.C 2652 2008-02-07 21:41:59Z benkirk $// The libMesh Finite Element Library.// Copyright (C) 2002-2007 Benjamin S. Kirk, John W. Peterson // This library is free software; you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public// License as published by the Free Software Foundation; either// version 2.1 of the License, or (at your option) any later version. // This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU// Lesser General Public License for more details. // You should have received a copy of the GNU Lesser General Public// License along with this library; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA// C++ includes#include <iostream>#include <sstream>// Local includes#include "reference_counter.h"// ------------------------------------------------------------// ReferenceCounter class static member initializations#if defined(ENABLE_REFERENCE_COUNTING) && defined(DEBUG)ReferenceCounter::Counts ReferenceCounter::_counts;#endifThreads::atomic<unsigned int> ReferenceCounter::_n_objects;Threads::spin_mutex ReferenceCounter::_mutex;// ------------------------------------------------------------// ReferenceCounter class membersstd::string ReferenceCounter::get_info (){#if defined(ENABLE_REFERENCE_COUNTING) && defined(DEBUG) std::ostringstream out; out << '\n' << " ---------------------------------------------------------------------------- \n" << "| Reference count information |\n" << " ---------------------------------------------------------------------------- \n"; for (Counts::iterator it = _counts.begin(); it != _counts.end(); ++it) { const std::string name(it->first); const unsigned int creations = it->second.first; const unsigned int destructions = it->second.second; out << "| " << name << " reference count information:\n" << "| Creations: " << creations << '\n' << "| Destructions: " << destructions << '\n'; } out << " ---------------------------------------------------------------------------- \n"; return out.str();#else return ""; #endif}void ReferenceCounter::print_info (){#if defined(ENABLE_REFERENCE_COUNTING) && defined(DEBUG) std::cout << ReferenceCounter::get_info(); #endif}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -