HEBOCON machine

Dependencies:   mbed Motorfader Servo WT2003M03

USBHost/myvector.h

Committer:
abanum
Date:
2019-07-29
Revision:
1:312b63cf250e
Parent:
0:a30ec7d94c3a

File content as of revision 1:312b63cf250e:

#pragma once

template<class T>
class myvector {
public:
    myvector() {
        m_size = 0;
        m_buf = NULL;
    }
    ~myvector() {
        if (m_buf) {
            delete[] m_buf;
        }
    }
    void push_back(T v) {
        T* new_buf = new T[m_size+1];
        if (m_size > 0) {
            for(int i = 0; i < m_size; i++) {
                new_buf[i] = m_buf[i];
            }
            delete[] m_buf;
        }
        m_buf = new_buf;
        m_buf[m_size++] = v;
    }
    T& operator[](const int index) {
        return m_buf[index];
    }
    int size() { return m_size; }

private:
    int m_size;
    T *m_buf;
};