MCC
Loading...
Searching...
No Matches
MCC::IntervalQuality Class Reference

Interval quality: perfect, major, minor, or augmented/diminished repeated one to four times (SPEC-INT-4). More...

#include <IntervalQuality.h>

Collaboration diagram for MCC::IntervalQuality:
Collaboration graph

Public Member Functions

constexpr IntervalQuality () noexcept
 Creates the invalid quality (SPEC-ERR-2).
constexpr bool IsValid () const noexcept
 Returns true unless this is the invalid quality.
constexpr IntervalQualityKind Kind () const noexcept
 Returns the kind, or Perfect for the invalid quality (SPEC-ERR-7).
constexpr uint8_t Count () const noexcept
 Returns how many times the quality is augmented or diminished, 1 for perfect, major and minor, and 0 for the invalid quality.
MCC_CONSTEXPR14 IntervalQuality Inverted () const noexcept
 Returns the quality of the inverted interval: major and minor, and augmented and diminished, swap; perfect stays (SPEC-INT-6).

Static Public Member Functions

static constexpr IntervalQuality Invalid () noexcept
 Returns the invalid quality.
static constexpr IntervalQuality Perfect () noexcept
 Returns the perfect quality.
static constexpr IntervalQuality Major () noexcept
 Returns the major quality.
static constexpr IntervalQuality Minor () noexcept
 Returns the minor quality.
static constexpr IntervalQuality Augmented (int32_t count=1) noexcept
 Returns the quality augmented count times; a count outside [1, 4] is invalid (SPEC-INT-4).
static constexpr IntervalQuality Diminished (int32_t count=1) noexcept
 Returns the quality diminished count times; a count outside [1, 4] is invalid (SPEC-INT-4).

Static Public Attributes

static constexpr uint8_t MaximumCount = 4
 Largest augmented or diminished repetition count.

Friends

constexpr bool operator== (IntervalQuality a, IntervalQuality b) noexcept
 Equality; all invalid qualities are equal (SPEC-ERR-6).
constexpr bool operator!= (IntervalQuality a, IntervalQuality b) noexcept

Detailed Description

Interval quality: perfect, major, minor, or augmented/diminished repeated one to four times (SPEC-INT-4).

Default construction and a repetition count outside [1, 4] produce the single invalid value (SPEC-ERR-2, SPEC-ERR-3).


The documentation for this class was generated from the following file: