From 0ac4f850a4992c93cd82b01b61d2e7ec5eb512ce Mon Sep 17 00:00:00 2001
From: Marco Biasini <marco.biasini@unibas.ch>
Date: Mon, 24 Jan 2011 21:51:12 +0100
Subject: [PATCH] fix unit tests and silence warnings when compiling with clang

now all unit tests pass
---
 modules/img/alg/src/alg_mirror.cc                    |  6 ++----
 modules/img/alg/src/alg_shift.cc                     |  6 ++----
 modules/img/alg/src/alg_transform.cc                 |  6 ++----
 modules/img/alg/src/auto_correlate.cc                |  4 +++-
 modules/img/alg/src/auto_correlate.hh                |  6 ++----
 modules/img/alg/src/convolute.cc                     |  7 +++++--
 modules/img/alg/src/discrete_shrink.hh               |  4 +---
 modules/img/alg/src/fft.hh                           |  6 ++++--
 modules/img/alg/src/gaussian.cc                      |  5 ++++-
 modules/img/alg/src/gaussian.hh                      |  2 +-
 modules/img/alg/src/histogram.cc                     |  6 +++++-
 modules/img/alg/src/histogram.hh                     |  2 +-
 modules/img/alg/src/mask_image.cc                    |  6 ++++--
 modules/img/alg/src/mask_image.hh                    |  4 ++--
 modules/img/alg/src/module_config.hh                 |  4 ++--
 modules/img/alg/src/power_spectrum.cc                |  6 +++++-
 modules/img/alg/src/smooth_mask_image.cc             |  7 ++++++-
 modules/img/alg/src/smooth_mask_image.hh             |  6 ++++--
 modules/img/alg/src/stat.cc                          |  5 ++++-
 modules/img/alg/src/stat_min_max.cc                  |  8 ++++++--
 modules/img/alg/src/threshold.cc                     |  6 ++----
 .../img/base/src/image_state/image_state_visitor.hh  | 12 ++++++------
 22 files changed, 73 insertions(+), 51 deletions(-)

diff --git a/modules/img/alg/src/alg_mirror.cc b/modules/img/alg/src/alg_mirror.cc
index 0a984c0c2..f32a23616 100644
--- a/modules/img/alg/src/alg_mirror.cc
+++ b/modules/img/alg/src/alg_mirror.cc
@@ -20,11 +20,9 @@
 
 #include "alg_mirror.hh"
 
-namespace ost { namespace img {
+namespace ost { namespace img { namespace image_state {
 
-#ifndef NO_EXPL_INST
 template class TEMPLATE_DEF_EXPORT ImageStateConstModOPAlgorithm<alg::MirrorFnc>;
-#endif
 
-}} // ns
+}}} // ns
 
diff --git a/modules/img/alg/src/alg_shift.cc b/modules/img/alg/src/alg_shift.cc
index 48c110086..7663bf639 100644
--- a/modules/img/alg/src/alg_shift.cc
+++ b/modules/img/alg/src/alg_shift.cc
@@ -20,11 +20,9 @@
 
 #include "alg_shift.hh"
 
-namespace ost { namespace img {
+namespace ost { namespace img { namespace image_state {
 
-#ifndef NO_EXPL_INST
 template class TEMPLATE_DEF_EXPORT ImageStateModOPAlgorithm<alg::ShiftFnc>;
-#endif
 
-}} // ns
+}}} // ns
 
diff --git a/modules/img/alg/src/alg_transform.cc b/modules/img/alg/src/alg_transform.cc
index 4bc23e362..6cf049267 100644
--- a/modules/img/alg/src/alg_transform.cc
+++ b/modules/img/alg/src/alg_transform.cc
@@ -20,11 +20,9 @@
 
 #include "alg_transform.hh"
 
-namespace ost { namespace img {
-
+namespace ost { namespace img { namespace image_state {
 
 template class TEMPLATE_DEF_EXPORT ImageStateModOPAlgorithm<alg::TransformFnc>;
 
-
-}} // ns
+}}} // ns
 
diff --git a/modules/img/alg/src/auto_correlate.cc b/modules/img/alg/src/auto_correlate.cc
index c40e136a2..cbf4b0c57 100644
--- a/modules/img/alg/src/auto_correlate.cc
+++ b/modules/img/alg/src/auto_correlate.cc
@@ -55,5 +55,7 @@ ImageStateBasePtr AutoCorrelateFnc::VisitState(const ImageStateImpl<V,D>& isi) c
 }
 
 }
+
+namespace image_state {
 template class TEMPLATE_DEF_EXPORT ImageStateConstModOPAlgorithm<alg::AutoCorrelateFnc>;
-}} //
+}}} //
diff --git a/modules/img/alg/src/auto_correlate.hh b/modules/img/alg/src/auto_correlate.hh
index 542372032..813f62dd7 100644
--- a/modules/img/alg/src/auto_correlate.hh
+++ b/modules/img/alg/src/auto_correlate.hh
@@ -43,10 +43,8 @@ private:
 
 typedef ImageStateConstModOPAlgorithm<AutoCorrelateFnc> AutoCorrelate;
 
-}
+}}} // ns
 
-OST_IMG_ALG_EXPLICIT_INST_DECL(class,ImageStateConstModOPAlgorithm<alg::AutoCorrelateFnc>)
-
-  }} // ns
+OST_IMG_ALG_EXPLICIT_INST_DECL(class,ImageStateConstModOPAlgorithm<ost::img::alg::AutoCorrelateFnc>)
 
 #endif
diff --git a/modules/img/alg/src/convolute.cc b/modules/img/alg/src/convolute.cc
index afb3deed5..31ea54807 100644
--- a/modules/img/alg/src/convolute.cc
+++ b/modules/img/alg/src/convolute.cc
@@ -91,7 +91,10 @@ ImageStateBasePtr ExplicitConvoluteFnc::VisitState(const ImageStateImpl<V,D>& is
 }
 
 }
-template class TEMPLATE_DEF_EXPORT ImageStateConstModOPAlgorithm<alg::ExplicitConvoluteFnc>;
 
-}} // ns
+namespace image_state {
+  
+template class TEMPLATE_DEF_EXPORT ImageStateConstModOPAlgorithm<alg::ExplicitConvoluteFnc>;  
+
+}}} // ns
 
diff --git a/modules/img/alg/src/discrete_shrink.hh b/modules/img/alg/src/discrete_shrink.hh
index a794bd82e..8090774ea 100644
--- a/modules/img/alg/src/discrete_shrink.hh
+++ b/modules/img/alg/src/discrete_shrink.hh
@@ -55,10 +55,8 @@ typedef ImageStateConstModOPAlgorithm<DiscreteShrinkFnc> DiscreteShrink;
 
 }
 
-OST_IMG_ALG_EXPLICIT_INST_DECL(class,image_state::ImageStateConstModOPAlgorithm<alg::DiscreteShrinkFnc>)
-
 }} // ns
 
-
+OST_IMG_ALG_EXPLICIT_INST_DECL(class,ImageStateConstModOPAlgorithm<ost::img::alg::DiscreteShrinkFnc>)
 
 #endif
diff --git a/modules/img/alg/src/fft.hh b/modules/img/alg/src/fft.hh
index 120f045ed..d306f8b3e 100644
--- a/modules/img/alg/src/fft.hh
+++ b/modules/img/alg/src/fft.hh
@@ -50,9 +50,11 @@ typedef image_state::ImageStateConstModOPAlgorithm<FFTFnc> FFT;
 
 }
 
-OST_IMG_ALG_EXPLICIT_INST_DECL(class,image_state::ImageStateConstModOPAlgorithm<alg::FFTFnc>)
 
-  }} // ns
+}} // ns
+
+OST_IMG_ALG_EXPLICIT_INST_DECL(class, ImageStateConstModOPAlgorithm<ost::img::alg::FFTFnc>)
+
 
 #endif
 
diff --git a/modules/img/alg/src/gaussian.cc b/modules/img/alg/src/gaussian.cc
index 6e930a086..2fc87aad3 100644
--- a/modules/img/alg/src/gaussian.cc
+++ b/modules/img/alg/src/gaussian.cc
@@ -107,5 +107,8 @@ void GaussianFilterBase::calcBVals( Real q )
 
 } // ns
 
+namespace image_state {
+
 template class ImageStateModIPAlgorithm<alg::GaussianFilterBase>;
-}}
+  
+}}}
diff --git a/modules/img/alg/src/gaussian.hh b/modules/img/alg/src/gaussian.hh
index 6bfa922d7..42430a555 100644
--- a/modules/img/alg/src/gaussian.hh
+++ b/modules/img/alg/src/gaussian.hh
@@ -139,7 +139,7 @@ typedef ImageStateModIPAlgorithm<GaussianFilterBase> GaussianFilter;
 
 
 
-OST_IMG_ALG_EXPLICIT_INST_DECL(class,image_state::ImageStateModIPAlgorithm<alg::GaussianFilterBase>)
+OST_IMG_ALG_EXPLICIT_INST_DECL(class, ImageStateModIPAlgorithm<alg::GaussianFilterBase>)
 
 
 
diff --git a/modules/img/alg/src/histogram.cc b/modules/img/alg/src/histogram.cc
index 50753ddc5..1552afa60 100644
--- a/modules/img/alg/src/histogram.cc
+++ b/modules/img/alg/src/histogram.cc
@@ -80,5 +80,9 @@ void HistogramBase::VisitFunction(const Function& fnc)
 
 
 }
+
+namespace image_state {
+
 template class TEMPLATE_DEF_EXPORT ImageStateNonModAlgorithm<alg::HistogramBase>;
-}} // namespaces
+
+}}} // namespaces
diff --git a/modules/img/alg/src/histogram.hh b/modules/img/alg/src/histogram.hh
index 7805d40fc..082fe4282 100644
--- a/modules/img/alg/src/histogram.hh
+++ b/modules/img/alg/src/histogram.hh
@@ -74,7 +74,7 @@ typedef ImageStateNonModAlgorithm<HistogramBase> Histogram;
 
 }
 
-OST_IMG_ALG_EXPLICIT_INST_DECL(class,ImageStateNonModAlgorithm<alg::HistogramBase>)
+OST_IMG_ALG_EXPLICIT_INST_DECL(class,ImageStateNonModAlgorithm<ost::img::alg::HistogramBase>)
 
 }} // namespaces
 
diff --git a/modules/img/alg/src/mask_image.cc b/modules/img/alg/src/mask_image.cc
index 5f1488b3e..648e31ec4 100644
--- a/modules/img/alg/src/mask_image.cc
+++ b/modules/img/alg/src/mask_image.cc
@@ -59,6 +59,8 @@ void MaskImageBase::VisitState(ImageStateImpl<T,D>& is) const
 
 }
 
-template class TEMPLATE_DEF_EXPORT ImageStateConstModIPAlgorithm<alg::MaskImageBase>;
+namespace image_state {
 
-}} // namespaces
+template class TEMPLATE_DEF_EXPORT ImageStateConstModIPAlgorithm<alg::MaskImageBase>;
+  
+}}} // namespaces
diff --git a/modules/img/alg/src/mask_image.hh b/modules/img/alg/src/mask_image.hh
index 51d9061c7..7ccfd89cf 100644
--- a/modules/img/alg/src/mask_image.hh
+++ b/modules/img/alg/src/mask_image.hh
@@ -54,10 +54,10 @@ typedef ImageStateConstModIPAlgorithm<MaskImageBase> MaskImage;
 
 }
 
-OST_IMG_ALG_EXPLICIT_INST_DECL(class,ImageStateConstModIPAlgorithm<alg::MaskImageBase>)
 
+}} // namespaces
 
-  }} // namespaces
+OST_IMG_ALG_EXPLICIT_INST_DECL(class,ImageStateConstModIPAlgorithm<ost::img::alg::MaskImageBase>)
 
 #endif /*MASK_IMAGE_HH_*/
 
diff --git a/modules/img/alg/src/module_config.hh b/modules/img/alg/src/module_config.hh
index 5a8966bd2..9484d1de7 100644
--- a/modules/img/alg/src/module_config.hh
+++ b/modules/img/alg/src/module_config.hh
@@ -26,10 +26,10 @@
 #  if defined(_MSC_VER)
 #    define OST_IMG_ALG_EXPLICIT_INST_DECL(c, t)
 #  else
-#    define OST_IMG_ALG_EXPLICIT_INST_DECL(c, t) extern template TEMPLATE_EXPORT c t;
+#    define OST_IMG_ALG_EXPLICIT_INST_DECL(c, t) extern template TEMPLATE_EXPORT c ost::img::image_state::t;
 #  endif
 #else
 #  define DLLEXPORT_IMG_ALG DLLIMPORT
-#  define OST_IMG_ALG_EXPLICIT_INST_DECL(c, t) extern template c DLLIMPORT t;
+#  define OST_IMG_ALG_EXPLICIT_INST_DECL(c, t) extern template c DLLIMPORT ost::img::image_state::t;
 #endif
 #endif
diff --git a/modules/img/alg/src/power_spectrum.cc b/modules/img/alg/src/power_spectrum.cc
index 38cd8ecf8..97c0e7bc4 100644
--- a/modules/img/alg/src/power_spectrum.cc
+++ b/modules/img/alg/src/power_spectrum.cc
@@ -104,6 +104,10 @@ ImageStateBasePtr PowerSpectrumFnc::VisitState(const ImageStateImpl<V,D>& isi) c
 }
 
 }
+
+namespace image_state {
+
 template class TEMPLATE_DEF_EXPORT ImageStateConstModOPAlgorithm<alg::PowerSpectrumFnc>;
-}} //
+
+}}} //
 
diff --git a/modules/img/alg/src/smooth_mask_image.cc b/modules/img/alg/src/smooth_mask_image.cc
index f4156cc5b..24409e7d4 100644
--- a/modules/img/alg/src/smooth_mask_image.cc
+++ b/modules/img/alg/src/smooth_mask_image.cc
@@ -80,5 +80,10 @@ void SmoothMaskImageBase::VisitState(ImageStateImpl<T,D>& is)
 
 
 }
+
+namespace image_state {
+
 template class TEMPLATE_DEF_EXPORT ImageStateModIPAlgorithm<alg::SmoothMaskImageBase>;
-}} // namespaces
+
+
+}}} // namespaces
diff --git a/modules/img/alg/src/smooth_mask_image.hh b/modules/img/alg/src/smooth_mask_image.hh
index fad8bf388..8ced40336 100644
--- a/modules/img/alg/src/smooth_mask_image.hh
+++ b/modules/img/alg/src/smooth_mask_image.hh
@@ -55,8 +55,10 @@ typedef ImageStateModIPAlgorithm<SmoothMaskImageBase> SmoothMaskImage;
 
 }
 
-OST_IMG_ALG_EXPLICIT_INST_DECL(class,ImageStateModIPAlgorithm<alg::SmoothMaskImageBase>)
 
-  }} // namespaces
+
+}} // namespaces
+
+OST_IMG_ALG_EXPLICIT_INST_DECL(class,ImageStateModIPAlgorithm<ost::img::alg::SmoothMaskImageBase>)
 
 #endif /*SMOOTH_MASK_IMAGE_HH_*/
diff --git a/modules/img/alg/src/stat.cc b/modules/img/alg/src/stat.cc
index bf271ad18..2e4ea577d 100644
--- a/modules/img/alg/src/stat.cc
+++ b/modules/img/alg/src/stat.cc
@@ -162,5 +162,8 @@ std::ostream& operator<<(std::ostream& o, const Stat& s)
 
 
 }
+namespace image_state {
+  
 template class TEMPLATE_DEF_EXPORT ImageStateNonModAlgorithm<alg::StatBase>;
-}} // ns
+
+}}} // ns
diff --git a/modules/img/alg/src/stat_min_max.cc b/modules/img/alg/src/stat_min_max.cc
index 6e24552bf..fcdd3c71f 100644
--- a/modules/img/alg/src/stat_min_max.cc
+++ b/modules/img/alg/src/stat_min_max.cc
@@ -98,5 +98,9 @@ std::ostream& operator<<(std::ostream& o, const StatMinMax& s)
 
 
 }
-template class TEMPLATE_DEF_EXPORT ImageStateNonModAlgorithm<alg::StatMinMaxBase>;
-}} // ns
+
+namespace image_state {
+  
+template class TEMPLATE_DEF_EXPORT ImageStateNonModAlgorithm<alg::StatMinMaxBase>;  
+
+}}} // ns
diff --git a/modules/img/alg/src/threshold.cc b/modules/img/alg/src/threshold.cc
index 2408a7602..d8e9155a5 100644
--- a/modules/img/alg/src/threshold.cc
+++ b/modules/img/alg/src/threshold.cc
@@ -21,11 +21,9 @@
 
 
 
-namespace ost { namespace img {
-
-
+namespace ost { namespace img { namespace image_state {
 
 template class TEMPLATE_DEF_EXPORT ImageStateModIPAlgorithm<alg::ThresholdFnc>;
 
-}}
+}}}
 
diff --git a/modules/img/base/src/image_state/image_state_visitor.hh b/modules/img/base/src/image_state/image_state_visitor.hh
index 408941d9c..7b5d35ab1 100644
--- a/modules/img/base/src/image_state/image_state_visitor.hh
+++ b/modules/img/base/src/image_state/image_state_visitor.hh
@@ -315,7 +315,7 @@ public:
 private:
   template <typename T, class D>
   void T_Visit_(const ImageStateImpl<T,D>& isi) {
-    VisitState(isi);
+    this->VisitState(isi);
   }
 };
 
@@ -368,7 +368,7 @@ public:
 private:
   template <typename T, class D>
   void T_Visit_(ImageStateImpl<T,D>& isi) {
-    VisitState(isi);
+    this->VisitState(isi);
   }
 };
 
@@ -423,7 +423,7 @@ public:
 private:
   template <typename T, class D>
   void T_Visit_(ImageStateImpl<T,D>& isi) const {
-    VisitState(isi);
+    this->VisitState(isi);
   }
 };
 
@@ -476,7 +476,7 @@ public:
 private:
   template <typename T, class D>
   ImageStateBasePtr T_Visit_(const ImageStateImpl<T,D>& isi) {
-    return VisitState(isi);
+    return this->VisitState(isi);
   }
 };
 
@@ -531,7 +531,7 @@ public:
 private:
   template <typename T, class D>
   ImageStateBasePtr T_Visit_(const ImageStateImpl<T,D>& isi) const {
-    return VisitState(isi);
+    return this->VisitState(isi);
   }
 };
 
@@ -584,7 +584,7 @@ public:
 private:
   template <typename T, class D>
   ImageStateBasePtr T_Visit_(ImageStateImpl<T,D>& isi) {
-    return VisitState(isi);
+    return this->VisitState(isi);
   }
 };
 
-- 
GitLab