⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fixedarray.h

📁 这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数就可以编译该代码.
💻 H
字号:
/* ////////////////////////////////////////////////////////////////////////////                  INTEL CORPORATION PROPRIETARY INFORMATION//     This software is supplied under the terms of a license agreement or//     nondisclosure agreement with Intel Corporation and may not be copied//     or disclosed except in accordance with the terms of that agreement.//          Copyright(c) 2003-2005 Intel Corporation. All Rights Reserved.//////*/#ifndef __FIXEDARRAY_H__#define __FIXEDARRAY_H__#include "fixedbuffer.h"#include "genalg.h"template <class T> class FixedArray : public FixedBuffer<T> {public:    FixedArray(unsigned int size = 0)    : FixedBuffer<T>(size), m_size(size)    {}    FixedArray(const FixedArray &array)    : FixedBuffer<T>(array.m_size), m_size(array.m_size)    {        Copy(array, *this, m_size);    }    FixedArray& operator=(const FixedArray& array)    {        if(this != &array)        {            ReAlloc(array.m_size);            Copy(array, *this, m_size);        }        return *this;    }    void ReAlloc(unsigned int size)    {        m_size = size;        FixedBuffer<T>::ReAlloc(m_size);    }    void Free()    {        FixedBuffer<T>::Free();        m_size = 0;    }    unsigned int Size() const { return m_size; }protected:    unsigned int m_size;};template <class T> class FixedArray2D : public FixedBuffer2D<T> {public:    FixedArray2D() : m_nOfRows(0), m_nOfCols  (0) {}    FixedArray2D(unsigned int nOfRows, unsigned int nOfCols)    : FixedBuffer2D<T>(nOfRows, nOfCols)    , m_nOfRows(nOfRows)    , m_nOfCols(nOfCols)    {}    FixedArray2D(const FixedArray2D &array)    : FixedBuffer2D<T>(array.m_nOfRows, array.m_nOfCols)    , m_nOfRows(array.m_nOfRows)    , m_nOfCols(array.m_nOfCols)    {        for(unsigned int row = 0; row < m_nOfRows; row++)            Copy(array[row], (*this)[row], m_nOfCols);    }    FixedArray2D& operator=(const FixedArray2D& array)    {        if(this != &array)        {            ReAlloc(array.m_nOfRows, array.m_nOfCols);            for(unsigned int row = 0; row < m_nOfRows; row++)                Copy(array[row], (*this)[row], m_nOfCols);        }        return *this;    }    void ReAlloc(unsigned int nOfRows, unsigned int nOfCols)    {        m_nOfRows = nOfRows;        m_nOfCols = nOfCols;        FixedBuffer2D<T>::ReAlloc(nOfRows, nOfCols);    }    void Free()    {        FixedBuffer2D<T>::Free();        m_nOfRows = 0;        m_nOfCols = 0;    }    unsigned int NOfRows() const { return m_nOfRows; }    unsigned int NOfCols() const { return m_nOfCols; }protected:    unsigned int m_nOfRows;    unsigned int m_nOfCols;};#endif // __FIXEDARRAY_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -