Hosted by
|
with Enum_Strings; use Enum_Strings;
with Strings; use Strings;
package Lyrics is
type Syllabic_Enum is (N_Begin, N_End, Middle, Single);
function To_Syllabic_Enum is new To_Enum(Syllabic_Enum);
type Special_Enum is (None, Extend, Laughing, Humming);
function To_Special_Enum is new To_Enum(Special_Enum);
type Lyric is limited private;
type Lyric_Access is access all Lyric;
function Create
(Number : in Natural := 0;
Syllabic : in Syllabic_Enum;
Text : in String;
Special : in Special_Enum)
return Lyric_Access;
function Get_Number
(This : access Lyric)
return Natural;
function Get_Syllabic
(This : access Lyric)
return Syllabic_Enum;
function Get_Text
(This : access Lyric)
return String;
function Get_Special
(This : access Lyric)
return Special_Enum;
private
type Lyric is limited record
Number : Natural := 0;
Syllabic : Syllabic_Enum;
Text : String_Access;
Special : Special_Enum;
end record;
end Lyrics;
|