Main Page | Class Hierarchy | Class List | File List | Class Members

PropagationStatistics.h

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:

Generated on Wed May 25 12:21:14 2005 for csp.kdevelop by  doxygen 1.3.9.1