mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 17:44:04 +08:00
core: add "namespace cv" in CV_StaticAssert fallback implementation
This commit is contained in:
parent
e47f3e5bcc
commit
76b5e19eb3
@ -118,9 +118,11 @@ namespace cv { namespace debug_build_guard { } using namespace debug_build_guard
|
|||||||
# if !defined(__clang__) && defined(__GNUC__) && (__GNUC__*100 + __GNUC_MINOR__ > 302)
|
# if !defined(__clang__) && defined(__GNUC__) && (__GNUC__*100 + __GNUC_MINOR__ > 302)
|
||||||
# define CV_StaticAssert(condition, reason) ({ extern int __attribute__((error("CV_StaticAssert: " reason " " #condition))) CV_StaticAssert(); ((condition) ? 0 : CV_StaticAssert()); })
|
# define CV_StaticAssert(condition, reason) ({ extern int __attribute__((error("CV_StaticAssert: " reason " " #condition))) CV_StaticAssert(); ((condition) ? 0 : CV_StaticAssert()); })
|
||||||
# else
|
# else
|
||||||
|
namespace cv {
|
||||||
template <bool x> struct CV_StaticAssert_failed;
|
template <bool x> struct CV_StaticAssert_failed;
|
||||||
template <> struct CV_StaticAssert_failed<true> { enum { val = 1 }; };
|
template <> struct CV_StaticAssert_failed<true> { enum { val = 1 }; };
|
||||||
template<int x> struct CV_StaticAssert_test {};
|
template<int x> struct CV_StaticAssert_test {};
|
||||||
|
}
|
||||||
# define CV_StaticAssert(condition, reason)\
|
# define CV_StaticAssert(condition, reason)\
|
||||||
typedef cv::CV_StaticAssert_test< sizeof(cv::CV_StaticAssert_failed< static_cast<bool>(condition) >) > CVAUX_CONCAT(CV_StaticAssert_failed_at_, __LINE__)
|
typedef cv::CV_StaticAssert_test< sizeof(cv::CV_StaticAssert_failed< static_cast<bool>(condition) >) > CVAUX_CONCAT(CV_StaticAssert_failed_at_, __LINE__)
|
||||||
# endif
|
# endif
|
||||||
|
Loading…
Reference in New Issue
Block a user