Removed CV_EXPORTS from all template classes (that I could find).
It doesn't make sense to export template classes, since there's no way the user can learn that it can import them. In fact, it is somewhat deleterious, because every module will export every instantiation that it uses, but doesn't inline.
This commit is contained in:
parent
8afb7a40c6
commit
4ac2db271d
@ -449,15 +449,15 @@ _AccTp normInf(const _Tp* a, const _Tp* b, int n)
|
||||
|
||||
////////////////// forward declarations for important OpenCV types //////////////////
|
||||
|
||||
template<typename _Tp, int cn> class CV_EXPORTS Vec;
|
||||
template<typename _Tp, int m, int n> class CV_EXPORTS Matx;
|
||||
template<typename _Tp, int cn> class Vec;
|
||||
template<typename _Tp, int m, int n> class Matx;
|
||||
|
||||
template<typename _Tp> class CV_EXPORTS Complex;
|
||||
template<typename _Tp> class CV_EXPORTS Point_;
|
||||
template<typename _Tp> class CV_EXPORTS Point3_;
|
||||
template<typename _Tp> class CV_EXPORTS Size_;
|
||||
template<typename _Tp> class CV_EXPORTS Rect_;
|
||||
template<typename _Tp> class CV_EXPORTS Scalar_;
|
||||
template<typename _Tp> class Complex;
|
||||
template<typename _Tp> class Point_;
|
||||
template<typename _Tp> class Point3_;
|
||||
template<typename _Tp> class Size_;
|
||||
template<typename _Tp> class Rect_;
|
||||
template<typename _Tp> class Scalar_;
|
||||
|
||||
class CV_EXPORTS RotatedRect;
|
||||
class CV_EXPORTS Range;
|
||||
@ -472,16 +472,16 @@ class CV_EXPORTS MatExpr;
|
||||
class CV_EXPORTS SparseMat;
|
||||
typedef Mat MatND;
|
||||
|
||||
template<typename _Tp> class CV_EXPORTS Mat_;
|
||||
template<typename _Tp> class CV_EXPORTS SparseMat_;
|
||||
template<typename _Tp> class Mat_;
|
||||
template<typename _Tp> class SparseMat_;
|
||||
|
||||
class CV_EXPORTS MatConstIterator;
|
||||
class CV_EXPORTS SparseMatIterator;
|
||||
class CV_EXPORTS SparseMatConstIterator;
|
||||
template<typename _Tp> class CV_EXPORTS MatIterator_;
|
||||
template<typename _Tp> class CV_EXPORTS MatConstIterator_;
|
||||
template<typename _Tp> class CV_EXPORTS SparseMatIterator_;
|
||||
template<typename _Tp> class CV_EXPORTS SparseMatConstIterator_;
|
||||
template<typename _Tp> class MatIterator_;
|
||||
template<typename _Tp> class MatConstIterator_;
|
||||
template<typename _Tp> class SparseMatIterator_;
|
||||
template<typename _Tp> class SparseMatConstIterator_;
|
||||
|
||||
namespace ogl
|
||||
{
|
||||
|
@ -1906,7 +1906,7 @@ typedef Ptr<CvMemStorage> MemStorage;
|
||||
i.e. no constructors or destructors
|
||||
are called for the sequence elements.
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS Seq
|
||||
template<typename _Tp> class Seq
|
||||
{
|
||||
public:
|
||||
typedef SeqIterator<_Tp> iterator;
|
||||
@ -1989,7 +1989,7 @@ public:
|
||||
/*!
|
||||
STL-style Sequence Iterator inherited from the CvSeqReader structure
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS SeqIterator : public CvSeqReader
|
||||
template<typename _Tp> class SeqIterator : public CvSeqReader
|
||||
{
|
||||
public:
|
||||
//! the default constructor
|
||||
|
@ -127,7 +127,7 @@ CV_EXPORTS void fastFree(void* ptr);
|
||||
/*!
|
||||
The STL-compilant memory Allocator based on cv::fastMalloc() and cv::fastFree()
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS Allocator
|
||||
template<typename _Tp> class Allocator
|
||||
{
|
||||
public:
|
||||
typedef _Tp value_type;
|
||||
@ -183,7 +183,7 @@ public:
|
||||
\note{Another good property of the class is that the operations on the reference counter are atomic,
|
||||
i.e. it is safe to use the class in multi-threaded applications}
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS Ptr
|
||||
template<typename _Tp> class Ptr
|
||||
{
|
||||
public:
|
||||
//! empty constructor
|
||||
|
@ -828,7 +828,7 @@ protected:
|
||||
img(i,j)[2] ^= (uchar)(i ^ j); // img(y,x)[c] accesses c-th channel of the pixel (x,y)
|
||||
\endcode
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS Mat_ : public Mat
|
||||
template<typename _Tp> class Mat_ : public Mat
|
||||
{
|
||||
public:
|
||||
typedef _Tp value_type;
|
||||
@ -1355,7 +1355,7 @@ public:
|
||||
m_.ref(2) += m_(3); // equivalent to m.ref<int>(2) += m.value<int>(3);
|
||||
\endcode
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS SparseMat_ : public SparseMat
|
||||
template<typename _Tp> class SparseMat_ : public SparseMat
|
||||
{
|
||||
public:
|
||||
typedef SparseMatIterator_<_Tp> iterator;
|
||||
@ -1727,7 +1727,7 @@ public:
|
||||
This is the derived from cv::SparseMatConstIterator_ class that
|
||||
introduces more convenient operator *() for accessing the current element.
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS SparseMatIterator_ : public SparseMatConstIterator_<_Tp>
|
||||
template<typename _Tp> class SparseMatIterator_ : public SparseMatConstIterator_<_Tp>
|
||||
{
|
||||
public:
|
||||
|
||||
|
@ -81,7 +81,7 @@ struct CV_EXPORTS Matx_DivOp {};
|
||||
struct CV_EXPORTS Matx_MatMulOp {};
|
||||
struct CV_EXPORTS Matx_TOp {};
|
||||
|
||||
template<typename _Tp, int m, int n> class CV_EXPORTS Matx
|
||||
template<typename _Tp, int m, int n> class Matx
|
||||
{
|
||||
public:
|
||||
enum { depth = DataType<_Tp>::depth,
|
||||
@ -286,7 +286,7 @@ template<typename _Tp, int m, int n> static double norm(const Matx<_Tp, m, n>& M
|
||||
In addition to the universal notation like Vec<float, 3>, you can use shorter aliases
|
||||
for the most popular specialized variants of Vec, e.g. Vec3f ~ Vec<float, 3>.
|
||||
*/
|
||||
template<typename _Tp, int cn> class CV_EXPORTS Vec : public Matx<_Tp, cn, 1>
|
||||
template<typename _Tp, int cn> class Vec : public Matx<_Tp, cn, 1>
|
||||
{
|
||||
public:
|
||||
typedef _Tp value_type;
|
||||
|
@ -68,7 +68,7 @@ namespace cv
|
||||
more convenient access to the real and imaginary parts using through the simple field access, as opposite
|
||||
to std::complex::real() and std::complex::imag().
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS Complex
|
||||
template<typename _Tp> class Complex
|
||||
{
|
||||
public:
|
||||
|
||||
@ -120,7 +120,7 @@ public:
|
||||
as a template parameter. There are a few shorter aliases available for user convenience.
|
||||
See cv::Point, cv::Point2i, cv::Point2f and cv::Point2d.
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS Point_
|
||||
template<typename _Tp> class Point_
|
||||
{
|
||||
public:
|
||||
typedef _Tp value_type;
|
||||
@ -191,7 +191,7 @@ public:
|
||||
|
||||
\see cv::Point3i, cv::Point3f and cv::Point3d
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS Point3_
|
||||
template<typename _Tp> class Point3_
|
||||
{
|
||||
public:
|
||||
typedef _Tp value_type;
|
||||
@ -256,7 +256,7 @@ public:
|
||||
The class represents the size of a 2D rectangle, image size, matrix size etc.
|
||||
Normally, cv::Size ~ cv::Size_<int> is used.
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS Size_
|
||||
template<typename _Tp> class Size_
|
||||
{
|
||||
public:
|
||||
typedef _Tp value_type;
|
||||
@ -314,7 +314,7 @@ public:
|
||||
The class represents a 2D rectangle with coordinates of the specified data type.
|
||||
Normally, cv::Rect ~ cv::Rect_<int> is used.
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS Rect_
|
||||
template<typename _Tp> class Rect_
|
||||
{
|
||||
public:
|
||||
typedef _Tp value_type;
|
||||
@ -470,7 +470,7 @@ public:
|
||||
This is partially specialized cv::Vec class with the number of elements = 4, i.e. a short vector of four elements.
|
||||
Normally, cv::Scalar ~ cv::Scalar_<double> is used.
|
||||
*/
|
||||
template<typename _Tp> class CV_EXPORTS Scalar_ : public Vec<_Tp, 4>
|
||||
template<typename _Tp> class Scalar_ : public Vec<_Tp, 4>
|
||||
{
|
||||
public:
|
||||
//! various constructors
|
||||
|
@ -80,7 +80,7 @@ namespace cv
|
||||
}
|
||||
\endcode
|
||||
*/
|
||||
template<typename _Tp, size_t fixed_size = 1024/sizeof(_Tp)+8> class CV_EXPORTS AutoBuffer
|
||||
template<typename _Tp, size_t fixed_size = 1024/sizeof(_Tp)+8> class AutoBuffer
|
||||
{
|
||||
public:
|
||||
typedef _Tp value_type;
|
||||
|
@ -961,7 +961,7 @@ struct CV_EXPORTS Hamming
|
||||
|
||||
typedef Hamming HammingLUT;
|
||||
|
||||
template<int cellsize> struct CV_EXPORTS HammingMultilevel
|
||||
template<int cellsize> struct HammingMultilevel
|
||||
{
|
||||
enum { normType = NORM_HAMMING + (cellsize>1) };
|
||||
typedef unsigned char ValueType;
|
||||
|
Loading…
x
Reference in New Issue
Block a user