From 7a0207637a68a0a50f2e29c6bc3de230c832047a Mon Sep 17 00:00:00 2001 From: Mavo Date: Fri, 18 Dec 2015 10:35:15 +0100 Subject: [PATCH] Small templating Former-commit-id: 4cc3c301ee2c9260f4125742b078e8fee40321e2 --- src/storage/dft/DFTElements.cpp | 13 ++++++++++--- src/storage/dft/DFTElements.h | 5 +++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/storage/dft/DFTElements.cpp b/src/storage/dft/DFTElements.cpp index 699fe47e5..a9040eab0 100644 --- a/src/storage/dft/DFTElements.cpp +++ b/src/storage/dft/DFTElements.cpp @@ -38,15 +38,22 @@ namespace storm { void DFTElement::checkForSymmetricChildren() const { } - - template<> - bool DFTBE::checkDontCareAnymore(storm::storage::DFTState& state, DFTStateSpaceGenerationQueues& queues) const { + + template + bool DFTBE::checkDontCareAnymore(storm::storage::DFTState& state, DFTStateSpaceGenerationQueues& queues) const { if(DFTElement::checkDontCareAnymore(state, queues)) { state.beNoLongerFailable(mId); return true; } return false; } + + // Explicitly instantiate the class. + template class DFTBE; + +#ifdef STORM_HAVE_CARL + template class DFTBE; +#endif } } diff --git a/src/storage/dft/DFTElements.h b/src/storage/dft/DFTElements.h index e7a97e66c..7d3c6110c 100644 --- a/src/storage/dft/DFTElements.h +++ b/src/storage/dft/DFTElements.h @@ -308,8 +308,9 @@ namespace storm { } virtual bool checkDontCareAnymore(storm::storage::DFTState& state, DFTStateSpaceGenerationQueues& queues) const; }; - - inline std::ostream& operator<<(std::ostream& os, DFTBE const& be) { + + template + inline std::ostream& operator<<(std::ostream& os, DFTBE const& be) { return os << "{" << be.name() << "} BE(" << be.activeFailureRate() << ", " << be.passiveFailureRate() << ")"; }