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

📄 vector.h

📁 很好的kalman程序。.zip文件包含了所有的用到kalman滤波的库和头文件。
💻 H
字号:
#ifndef MEMS_VECTOR_H
#define MEMS_VECTOR_H

#include "Constants.h"

namespace mems
{

class Vector 
{
public:

    typedef unsigned short size_type;

    class iterator
    {
    public:
        iterator();
        Real & operator*();
        iterator & operator++(); // prefix
        const iterator operator++(int); // postfix
        iterator operator+(unsigned short offset); // returns iterator pointing at new offset
        iterator operator-(unsigned short offset);
        
        iterator & operator=(const iterator & iter);
        bool operator==(const iterator & rhs) const;
        bool operator!=(const iterator & rhs) const;

    protected:
        friend class Vector;
        iterator(Vector & vec, unsigned short idx = 0);

    private:
        unsigned short  m_idx;              // current index into Vector
        Vector        * m_vec;
    };

    Vector();
    Vector(unsigned short size);

    unsigned short size() const;
    void push_back(const Real & elem);
    void clear();
    iterator erase(const iterator & iter);
    void resize(unsigned short size);
    void resizeAndZero(unsigned short size);
    Real & operator()(unsigned short idx);
    const Real & operator()(unsigned short idx) const;

    Real & operator[](unsigned short idx);
    const Real & operator[](unsigned short idx) const;

    iterator begin();
    iterator end();

private:

    void zero();

    // increment so can have a 'bogus' value as the last elem
    Real            m_vec[VECTOR_MAXELEMS + 1];
    unsigned short  m_size;
};

} // mems

#endif // MEMS_VECTOR_H

⌨️ 快捷键说明

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