5#include <initializer_list> 
   28    NoteSet(std::initializer_list<uint8_t> notes);
 
   31    void add(int8_t note) { bits = 0xfff & (bits | (1 << note)); }
 
   34    void remove(int8_t note) { bits = 0xfff & (bits & ~(1 << note)); }
 
   37    bool has(int8_t note)
 const { 
return (bits >> note) & 1; }
 
   57    void fill() { bits = 0xfff; }
 
   62    bool isEmpty()
 const { 
return bits == 0; }
 
   65    uint8_t 
highest()
 const { 
return 15 - std::countl_zero(bits); }
 
   73    int count()
 const { 
return std::popcount(bits); }
 
   97    uint16_t 
toBits()
 const { 
return bits; }
 
   98    static const int8_t size = 12;
 
 
  104const uint8_t kMaxScaleSize = NoteSet::size;
 
  112std::ostream& operator<<(std::ostream& output, 
const NoteSet& set);
 
  116    TestString(std::string string_) : string(string_) {}
 
  117    const char* asCharString()
 const { 
return string.c_str(); }
 
  123const TestString StringFrom(
const NoteSet&);
 
void addMajorDependentModeNotes(uint8_t i, bool preferHigher, const NoteSet notesWithinOctavePresent)
Definition note_set.cpp:98
 
int scaleSize() const
Definition note_set.cpp:198
 
NoteSet toImpliedScale() const
Definition note_set.cpp:147
 
bool isSubsetOf(NoteSet other) const
Definition note_set.h:82
 
int count() const
Definition note_set.h:73
 
NoteSet()
Definition note_set.h:23
 
NoteSet modulateByOffset(uint8_t offset)
Definition note_set.cpp:125
 
bool has(int8_t note) const
Definition note_set.h:37
 
bool operator==(const NoteSet &other) const
Definition note_set.h:78
 
uint16_t toBits() const
Definition note_set.h:97
 
void clear()
Definition note_set.h:60
 
NoteSet operator|(const NoteSet &other)
Definition note_set.cpp:66
 
void add(int8_t note)
Definition note_set.h:31
 
void remove(int8_t note)
Definition note_set.h:34
 
void addUntrusted(uint8_t note)
Definition note_set.cpp:10
 
NoteSet(uint16_t bits_)
Definition note_set.h:25
 
int8_t operator[](uint8_t index) const
Definition note_set.cpp:24
 
uint8_t highest() const
Definition note_set.h:65
 
int8_t majorness() const
Definition note_set.cpp:72
 
bool isEmpty() const
Definition note_set.h:62
 
int8_t degreeOf(uint8_t note) const
Definition note_set.cpp:53
 
void fill()
Definition note_set.h:57
 
int8_t highestNotIn(NoteSet used) const
Definition note_set.cpp:44