From 58da54cb7a6b25ca336444bc7bc88eeeba0911ae Mon Sep 17 00:00:00 2001 From: Roman Donchenko Date: Wed, 2 Oct 2013 16:09:45 +0400 Subject: [PATCH] Cherry-picked mariusmuja/flann@8c8b0e0cb879666797ab2ac51b9ee438bf84a183. Original author: me. --- modules/flann/include/opencv2/flann/any.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/flann/include/opencv2/flann/any.h b/modules/flann/include/opencv2/flann/any.h index d62d49185..4a58cf2dc 100644 --- a/modules/flann/include/opencv2/flann/any.h +++ b/modules/flann/include/opencv2/flann/any.h @@ -44,7 +44,7 @@ struct base_any_policy virtual void clone(void* const* src, void** dest) = 0; virtual void move(void* const* src, void** dest) = 0; virtual void* get_value(void** src) = 0; - virtual void* get_value(void* const * src) = 0; + virtual const void* get_value(void* const * src) = 0; virtual ::size_t get_size() = 0; virtual const std::type_info& type() = 0; virtual void print(std::ostream& out, void* const* src) = 0; @@ -70,7 +70,7 @@ struct small_any_policy : typed_base_any_policy virtual void clone(void* const* src, void** dest) { *dest = *src; } virtual void move(void* const* src, void** dest) { *dest = *src; } virtual void* get_value(void** src) { return reinterpret_cast(src); } - virtual void* get_value(void* const * src) { return const_cast( reinterpret_cast(src) ); } + virtual const void* get_value(void* const * src) { return reinterpret_cast(src); } virtual void print(std::ostream& out, void* const* src) { out << *reinterpret_cast(src); } }; @@ -95,7 +95,7 @@ struct big_any_policy : typed_base_any_policy **reinterpret_cast(dest) = **reinterpret_cast(src); } virtual void* get_value(void** src) { return *src; } - virtual void* get_value(void* const * src) { return const_cast(*src); } + virtual const void* get_value(void* const * src) { return *src; } virtual void print(std::ostream& out, void* const* src) { out << *reinterpret_cast(*src); } }; @@ -260,7 +260,7 @@ public: const T& cast() const { if (policy->type() != typeid(T)) throw anyimpl::bad_any_cast(); - T* r = reinterpret_cast(policy->get_value(&object)); + const T* r = reinterpret_cast(policy->get_value(&object)); return *r; }