vector.h
来自「很好的kalman程序。.zip文件包含了所有的用到kalman滤波的库和头文件」· C头文件 代码 · 共 68 行
H
68 行
#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 + =
减小字号Ctrl + -
显示快捷键?