musicxml 1.1.2

MusicXML parsing, manipulation, and export library
Documentation
use super::{Extend, FigureNumber, Footnote, Level, Prefix, Suffix};
use alloc::{string::String, vec::Vec};
use musicxml_internal::*;
use musicxml_macros::*;

/// Contents of the [Figure] element.
#[derive(Debug, Default, PartialEq, Eq, ContentDeserialize, ContentSerialize)]
pub struct FigureContents {
  /// The [Prefix] element is used to specify the prefix of a figured bass symbol.
  pub prefix: Option<Prefix>,
  /// The [FigureNumber] element is used to specify the figure number of a figured bass symbol.
  pub figure_number: Option<FigureNumber>,
  /// The [Suffix] element is used to specify the suffix of a figured bass symbol.
  pub suffix: Option<Suffix>,
  /// The [Extend] element is used to specify the extension of a figured bass symbol.
  pub extend: Option<Extend>,
  /// The [Footnote] element is used to specify a footnote for a figured bass symbol.
  pub footnote: Option<Footnote>,
  /// The [Level] element is used to specify the level of a figured bass symbol.
  pub level: Option<Level>,
}

/// The [Figure] element represents a single figure within a [FiguredBass][super::FiguredBass] element.
#[derive(Debug, PartialEq, Eq, ElementDeserialize, ElementSerialize)]
pub struct Figure {
  /// Element-specific attributes
  pub attributes: (),
  #[flatten]
  /// Element-specific content
  pub content: FigureContents,
}