#ifndef _GUITAR_REQUIREMENT_HPP_ #define _GUITAR_REQUIREMENT_HPP_ #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _GUITAR_FRETTEDNOTE_HPP_ #include #endif class Requirement; typedef SmartPointer PtrRequirement; class Requirement : public FrettedNote { public: Requirement(); virtual ~Requirement(); bool getSatisfied(void)const; void setSatisfied(bool satisfied); Requirement &operator=(const FrettedNote &frettedNote); private: bool mSatisfied; }; inline Requirement::Requirement() : mSatisfied(false) { } inline Requirement::~Requirement() { } inline Requirement &Requirement::operator=(const FrettedNote &frettedNote) { (FrettedNote&)*this=frettedNote; return *this; } inline bool Requirement::getSatisfied(void)const { return mSatisfied; } inline void Requirement::setSatisfied(bool satisfied) { mSatisfied=satisfied; } #endif