denigma 4.0.0
Loading...
Searching...
No Matches
denigma::classify::ExpressionClassification Struct Reference

Exporter-neutral semantic classification of one Finale expression. More...

#include <expressions.h>

Public Member Functions

template<typename T >
const T * as () const noexcept
 Returns the payload as T when it contains that type.
 
const dynamics::Markdynamic () const
 Returns the classified dynamic mark.
 
const expression::Fermatafermata () const
 Returns the classified fermata.
 
const expression::BreathMarkbreathMark () const
 Returns the classified breath mark.
 
const articulation::StringMutestringMute () const
 Returns the classified string-mute symbol.
 
const expression::HarpDiagramharpDiagram () const
 Returns the classified harp-pedal diagram.
 
keyboardpedal::Type keyboardPedal () const
 Returns the classified keyboard-pedal marking.
 
const PseudoTiepseudoTie () const
 Returns the classified pseudo-tie.
 
const expression::NonArpeggiononArpeggio () const
 Returns the classified non-arpeggio sign.
 
const expression::TempoTexttempoText () const
 Returns the classified absolute tempo indication.
 
const expression::MetronomeMarkmetronomeMark () const
 Returns the classified standalone metronome marking.
 
const expression::TempoAlterationtempoAlteration () const
 Returns the classified relative tempo alteration.
 
const expression::TechniqueTexttechniqueText () const
 Returns the classified performance-technique text.
 
const expression::RehearsalMarkrehearsalMark () const
 Returns the classified rehearsal mark.
 
const expression::MultimeasureRestNumbermultimeasureRestNumber () const
 Returns the classified multimeasure rest number.
 
const expression::MeasureRepeatCountmeasureRepeatCount () const
 Returns the classified measure repeat count.
 
const expression::GenericTextgenericText () const
 Returns the unclassified expression text.
 
const expression::Errorerror () const
 Returns the classification diagnostic.
 

Public Attributes

ExpressionType type { ExpressionType::GenericText }
 Top-level semantic class.
 
ClassificationBasis basis { ClassificationBasis::FallbackToGenericText }
 Evidence used to select type and value.
 
std::optional< musx::util::EnigmaParsingContext > enigmaCtx
 Parsing context retained when the source contains Enigma text commands.
 
ExpressionValue value {}
 Semantic payload associated with type.
 
std::vector< expression::RunClassificationruns
 Per-run classifications for expressions containing mixed content.
 

Detailed Description

Exporter-neutral semantic classification of one Finale expression.

Member Function Documentation

◆ as()

template<typename T >
const T * denigma::classify::ExpressionClassification::as ( ) const
inlinenoexcept

Returns the payload as T when it contains that type.

Template Parameters
TRequested payload type.
Returns
A pointer to the payload, or nullptr when the active alternative differs.

◆ breathMark()

const expression::BreathMark & denigma::classify::ExpressionClassification::breathMark ( ) const
inline

Returns the classified breath mark.

Exceptions
std::logic_errorif type is not ExpressionType::BreathMark.

◆ dynamic()

const dynamics::Mark & denigma::classify::ExpressionClassification::dynamic ( ) const
inline

Returns the classified dynamic mark.

Exceptions
std::logic_errorif type is not ExpressionType::Dynamic.

◆ error()

const expression::Error & denigma::classify::ExpressionClassification::error ( ) const
inline

Returns the classification diagnostic.

Exceptions
std::logic_errorif type is not ExpressionType::Error.

◆ fermata()

const expression::Fermata & denigma::classify::ExpressionClassification::fermata ( ) const
inline

Returns the classified fermata.

Exceptions
std::logic_errorif type is not ExpressionType::Fermata.

◆ genericText()

const expression::GenericText & denigma::classify::ExpressionClassification::genericText ( ) const
inline

Returns the unclassified expression text.

Exceptions
std::logic_errorif type is not ExpressionType::GenericText.

◆ harpDiagram()

const expression::HarpDiagram & denigma::classify::ExpressionClassification::harpDiagram ( ) const
inline

Returns the classified harp-pedal diagram.

Exceptions
std::logic_errorif type is not ExpressionType::HarpDiagram.

◆ keyboardPedal()

keyboardpedal::Type denigma::classify::ExpressionClassification::keyboardPedal ( ) const
inline

Returns the classified keyboard-pedal marking.

Exceptions
std::logic_errorif type is not ExpressionType::KeyboardPedal.

◆ measureRepeatCount()

const expression::MeasureRepeatCount & denigma::classify::ExpressionClassification::measureRepeatCount ( ) const
inline

Returns the classified measure repeat count.

Exceptions
std::logic_errorif type is not ExpressionType::MeasureRepeatCount.

◆ metronomeMark()

const expression::MetronomeMark & denigma::classify::ExpressionClassification::metronomeMark ( ) const
inline

Returns the classified standalone metronome marking.

Exceptions
std::logic_errorif type is not ExpressionType::MetronomeMark.

◆ multimeasureRestNumber()

const expression::MultimeasureRestNumber & denigma::classify::ExpressionClassification::multimeasureRestNumber ( ) const
inline

Returns the classified multimeasure rest number.

Exceptions
std::logic_errorif type is not ExpressionType::MultimeasureRestNumber.

◆ nonArpeggio()

const expression::NonArpeggio & denigma::classify::ExpressionClassification::nonArpeggio ( ) const
inline

Returns the classified non-arpeggio sign.

Exceptions
std::logic_errorif type is not ExpressionType::NonArpeggio.

◆ pseudoTie()

const PseudoTie & denigma::classify::ExpressionClassification::pseudoTie ( ) const
inline

Returns the classified pseudo-tie.

Exceptions
std::logic_errorif type is not ExpressionType::PseudoTie.

◆ rehearsalMark()

const expression::RehearsalMark & denigma::classify::ExpressionClassification::rehearsalMark ( ) const
inline

Returns the classified rehearsal mark.

Exceptions
std::logic_errorif type is not ExpressionType::RehearsalMark.

◆ stringMute()

const articulation::StringMute & denigma::classify::ExpressionClassification::stringMute ( ) const
inline

Returns the classified string-mute symbol.

Exceptions
std::logic_errorif type is not ExpressionType::StringMute.

◆ techniqueText()

const expression::TechniqueText & denigma::classify::ExpressionClassification::techniqueText ( ) const
inline

Returns the classified performance-technique text.

Exceptions
std::logic_errorif type is not ExpressionType::TechniqueText.

◆ tempoAlteration()

const expression::TempoAlteration & denigma::classify::ExpressionClassification::tempoAlteration ( ) const
inline

Returns the classified relative tempo alteration.

Exceptions
std::logic_errorif type is not ExpressionType::TempoAlteration.

◆ tempoText()

const expression::TempoText & denigma::classify::ExpressionClassification::tempoText ( ) const
inline

Returns the classified absolute tempo indication.

Exceptions
std::logic_errorif type is not ExpressionType::TempoMark.

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