00001 // PropagationStatistics.h -- Interface to an object storing 00002 // propagation statistics (mostly counters) for decompositions. 00003 00004 /* 00005 * Copyright (C) 2004 Tudor Hulubei <tudor@hulubei.net>. 00006 * 00007 * This library is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU Lesser General Public License as 00009 * published by the Free Software Foundation; either version 2, or (at 00010 * your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA, 00020 * 02111-1307, USA. 00021 */ 00022 00023 /* 00024 * NOTE: This is an interal header file. 00025 * You should not attempt to use it directly. 00026 */ 00027 00028 // $Id: PropagationStatistics_8h-source.html,v 1.1 2005/05/25 12:37:18 tudor Exp $ 00029 00030 #ifndef _CSP_KERNEL_PropagationStatistics_H 00031 #define _CSP_KERNEL_PropagationStatistics_H 00032 00033 00034 CSP_NAMESPACE_BEGIN(csp); 00035 00036 00040 class CSP_API PropagationStatistics 00041 { 00042 public: 00043 PropagationStatistics() : 00044 m_propagations(0), 00045 m_propagationFailures(0), 00046 m_extraRemovals(0), 00047 m_extraPropagations(0), 00048 m_extraPropagationFailures(0), 00049 m_extraUselessPropagations(0) 00050 {} 00051 00052 void reset() 00053 { 00054 m_propagations = 0; 00055 m_propagationFailures = 0; 00056 m_extraRemovals = 0; 00057 m_extraPropagations = 0; 00058 m_extraPropagationFailures = 0; 00059 m_extraUselessPropagations = 0; 00060 } 00061 00063 inline ulonglong propagations() const { 00064 return m_propagations; } 00065 00067 inline ulonglong propagationFailures() const { 00068 return m_propagationFailures; } 00069 00071 inline ulonglong extraRemovals() const { 00072 return m_extraRemovals; } 00073 00075 inline ulonglong extraPropagations() const { 00076 return m_extraPropagations; } 00077 00079 inline ulonglong extraPropagationFailures() const { 00080 return m_extraPropagationFailures; } 00081 00083 inline ulonglong extraUselessPropagations() const { 00084 return m_extraUselessPropagations; } 00085 00086 protected: 00088 ulonglong m_propagations; 00089 00091 ulonglong m_propagationFailures; 00092 00094 ulonglong m_extraRemovals; 00095 00097 ulonglong m_extraPropagations; 00098 00100 ulonglong m_extraPropagationFailures; 00101 00103 ulonglong m_extraUselessPropagations; 00104 00108 friend class Decomposition; 00109 }; 00110 00111 00112 CSP_NAMESPACE_END(csp); 00113 00114 00115 #endif // _CSP_KERNEL_PropagationStatistics_H 00116 00117 // Local Variables: 00118 // mode: C++ 00119 // End:
1.3.9.1