dommemdebug.cpp
来自「IBM的解析xml的工具Xerces的源代码」· C++ 代码 · 共 125 行
CPP
125 行
/* * Copyright 1999-2002,2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//* * $Id: DomMemDebug.cpp,v 1.4 2004/09/08 13:55:43 peiyongz Exp $ */#include "DomMemDebug.hpp"#include "DOMString.hpp"#include "NodeImpl.hpp"#include "NamedNodeMapImpl.hpp"#include <stdio.h>XERCES_CPP_NAMESPACE_BEGINDomMemDebug::DomMemDebug(){ liveStringHandles = DOMString::gLiveStringHandleCount; totalStringHandles = DOMString::gTotalStringHandleCount; liveStringBuffers = DOMString::gLiveStringDataCount; totalStringBuffers = DOMString::gTotalStringDataCount; liveNodeImpls = NodeImpl::gLiveNodeImpls; totalNodeImpls = NodeImpl::gTotalNodeImpls; liveNamedNodeMaps = NamedNodeMapImpl::gLiveNamedNodeMaps; totalNamedNodeMaps = NamedNodeMapImpl::gTotalNamedNodeMaps;};DomMemDebug::~DomMemDebug(){};bool DomMemDebug::operator == (const DomMemDebug &other){ bool r = liveStringHandles == other.liveStringHandles && liveStringBuffers == other.liveStringBuffers && liveNodeImpls == other.liveNodeImpls && liveNamedNodeMaps == other.liveNamedNodeMaps; return r;};bool DomMemDebug::operator != (const DomMemDebug &other){ return ! operator == (other);};void DomMemDebug::operator = (const DomMemDebug &other){ liveStringHandles = other.liveStringHandles; totalStringHandles = other.totalStringHandles; liveStringBuffers = other.liveStringBuffers; totalStringBuffers = other.totalStringBuffers; liveNodeImpls = other.liveNodeImpls; totalNodeImpls = other.totalNodeImpls; liveNamedNodeMaps = other.liveNamedNodeMaps; totalNamedNodeMaps = other.totalNamedNodeMaps;};void DomMemDebug::print(){ printf("DOM reference counted memory alloction statistics:\n" " live string handles: %d\n" " total string handles: %d\n" " live string buffers: %d\n" " total string buffers: %d\n" " live nodeImpls: %d\n" " total nodeImpls: %d\n" " live NamedNodeMaps: %d\n" " total NamedNodeMaps: %d\n", liveStringHandles , totalStringHandles, liveStringBuffers , totalStringBuffers , liveNodeImpls , totalNodeImpls , liveNamedNodeMaps , totalNamedNodeMaps);};void DomMemDebug::printDifference(const DomMemDebug &other){ int d; d = liveStringHandles - other.liveStringHandles; if (d != 0) printf(" %d StringHandles.", d); d = liveStringBuffers - other.liveStringBuffers; if (d != 0) printf(" %d StringBuffers.", d); d = liveNodeImpls - other.liveNodeImpls; if (d != 0) printf(" %d NodeImpls.", d); d = liveNamedNodeMaps - other.liveNamedNodeMaps; if (d != 0) printf(" %d NamedNodeMaps.", d); printf("\n");};XERCES_CPP_NAMESPACE_END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?