44 #ifndef __OPENFLUID_DEBUG_HPP__
45 #define __OPENFLUID_DEBUG_HPP__
58 #include <openfluid/config.hpp>
60 #define OFDBG_ENABLED 1
61 #define OFDBG_OUTSTREAM std::cout
65 #define OFDBG_ENABLED 0
66 #define OFDBG_OUTSTREAM
83 #define OFDBG_LOCATE \
85 OFDBG_OUTSTREAM << openfluid::config::DEBUG_PREFIX << " File " << __FILE__ << ", Line " << __LINE__ << std::endl;\
90 #define OFDBG_LOCATE ;
101 #define OFDBG_BANNER \
103 OFDBG_OUTSTREAM << openfluid::config::DEBUG_PREFIX << std::endl; \
104 OFDBG_OUTSTREAM << openfluid::config::DEBUG_PREFIX << " OpenFLUID debugging mode is enabled" << std::endl; \
105 OFDBG_OUTSTREAM << openfluid::config::DEBUG_PREFIX << std::endl; \
127 #define OFDBG_MESSAGE(stream) \
128 { OFDBG_OUTSTREAM << openfluid::config::DEBUG_PREFIX << " " << stream << std::endl; }
132 #define OFDBG_MESSAGE(stream)
149 #define OFDBG_UNIT(unitptr) \
151 OFDBG_OUTSTREAM << openfluid::config::DEBUG_PREFIX << " Unit class " << (unitptr)->getClass()\
152 << ", ID " << (unitptr)->getID() << std::endl;\
157 #define OFDBG_UNIT(unitptr)
174 #define OFDBG_UNIT_EXTENDED(unitptr) \
176 OFDBG_OUTSTREAM << openfluid::config::DEBUG_PREFIX << " Unit class " << (unitptr)->getClass()\
177 << ", ID " << (unitptr)->getID() << std::endl; \
178 std::vector<openfluid::core::AttributeName_t> _M_DBG_AttrsNames = (unitptr)->attributes()->getAttributesNames(); \
179 OFDBG_OUTSTREAM << openfluid::config::DEBUG_PREFIX << " - Attributes: "; \
180 for (unsigned int i=0; i<_M_DBG_AttrsNames.size();i++) OFDBG_OUTSTREAM << _M_DBG_AttrsNames[i] << " , "; \
181 OFDBG_OUTSTREAM << std::endl; \
182 std::vector<openfluid::core::VariableName_t> _M_DBG_VarNames = (unitptr)->variables()->getVariablesNames(); \
183 OFDBG_OUTSTREAM << openfluid::config::DEBUG_PREFIX << " - Variables: "; \
184 for (unsigned int i=0; i<_M_DBG_VarNames.size();i++) OFDBG_OUTSTREAM << _M_DBG_VarNames[i] << " , "; \
185 OFDBG_OUTSTREAM << std::endl; \
190 #define OFDBG_UNIT_EXTENDED(unitptr)
207 #define OFDBG_EVENT(eventptr) \
209 OFDBG_OUTSTREAM << openfluid::config::DEBUG_PREFIX\
210 << " Event at " << (eventptr)->getDateTime().getAsISOString() << std::endl; \
211 openfluid::core::Event::EventInfosMap_t::iterator _M_DBG_EvInfoiter; \
212 for (_M_DBG_EvInfoiter = (eventptr)->getInfos().begin();\
213 _M_DBG_EvInfoiter != (eventptr)->getInfos().end();++_M_DBG_EvInfoiter) \
215 OFDBG_OUTSTREAM << openfluid::config::DEBUG_PREFIX << " - "\
216 << (*_M_DBG_EvInfoiter).first << " = " << (*_M_DBG_EvInfoiter).second.get() << std::endl; \
222 #define OFDBG_EVENT(eventptr)
239 #define OFDBG_EVENTCOLLECTION(eventcoll) \
241 OFDBG_OUTSTREAM << openfluid::config::DEBUG_PREFIX << " Event collection size : "\
242 << eventcoll.eventsList()->size() << std::endl; \
243 openfluid::core::EventsList_t::iterator _M_DBG_EvListiter; \
244 for (_M_DBG_EvListiter=(EvColl.eventsList())->begin();\
245 _M_DBG_EvListiter != (EvColl.eventsList())->end(); ++_M_DBG_EvListiter) \
247 OFDBG_EVENT(&(*_M_DBG_EvListiter)); \
253 #define OFDBG_EVENTCOLLECTION(eventcoll)