📄 vector.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 + -