#ifndef MUSCLE_EMG_PROFILE_H_ #define MUSCLE_EMG_PROFILE_H_ #include #include #include class MuscleEMGProfile { public: MuscleEMGProfile(const std::string &name, unsigned capacity) : _name(const_cast(name)) { if (capacity == 0) capacity = 100; _x.reserve(capacity); _y.reserve(capacity); } MuscleEMGProfile& operator=(const MuscleEMGProfile &m) { _name = m._name; _x = m._x; _y = m._y; return *this; } unsigned getIdx() { return _x.size(); } unsigned getCapacity() { return _x.capacity(); } const std::string &getName() { return _name; } void addData(double x, double y); private: std::string _name; std::vector _x; std::vector _y; // friend std::ostream& operator<<(std::ostream &s, const MuscleEMGProfile &m); }; /* std::ostream& operator<<(std::ostream &s, const MuscleEMGProfile &m) { return s << "MuscleEMGProfile(" << m._name << ", " << m._idx << "/" << m._capacity << ")" << std::endl; } */ #endif /* MUSCLE_EMG_PROFILE_H_ */