/*
- lily-proto.hh -- declare class names.
+ This file is part of LilyPond, the GNU music typesetter.
- source file of the GNU LilyPond music typesetter
+ Copyright (C) 1997--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
- (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ LilyPond is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ LilyPond is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef LILY_PROTO_HH
#define LILY_PROTO_HH
+
#include "flower-proto.hh"
class All_font_metrics;
class Axis_group_engraver;
class Bar_engraver;
class Bar_req_collect_engraver;
-class Beaming_info_list;
+class Beaming_pattern;
class Bezier;
class Bezier_bow;
class Book;
class Context;
class Context_def;
class Context_specced_music;
+class Dispatcher;
+class Dot_column;
+class Dot_configuration;
+class Dot_formatting_problem;
class Engraver;
class Engraver;
class Engraver_group;
class Event;
class Event_chord;
class Event_chord_iterator;
-class Folded_repeat_iterator;
+class Event_iterator;
class Font_metric;
class Font_size_engraver;
class Global_context;
class Lilypond_context_key;
class Lilypond_grob_key;
class Line_group_engraver_group;
+class Listener;
class Lookup;
class Lyric_combine_music;
class Lyric_combine_music_iterator;
class Midi_chunk;
class Midi_duration;
class Midi_dynamic;
+class Midi_event;
class Midi_header;
class Midi_instrument;
class Midi_item;
class Object_key_undumper;
class Open_type_font;
class Output_property;
-class Page;
+class Page_breaking;
class Pango_font;
class Paper_book;
class Paper_column;
class Piano_bar_engraver;
class Pitch;
class Pitch_squash_engraver;
+class Prob;
class Property_iterator;
class Rational;
class Relative_octave_music;
class Repeated_music;
+class Scale;
class Scheme_hash_table;
+class Scheme_engraver;
class Score;
class Score_context;
class Score_engraver;
class Simple_spacer_wrapper;
class Simultaneous_music;
class Simultaneous_music_iterator;
+class Skyline;
class Skyline_entry;
+class Skyline_pair;
class Slur_configuration;
class Slur_score_state;
+class Source_file;
+class Sources;
+class Spacing_options;
class Span_score_bar_engraver;
class Spanner;
class Staff_group_bar_engraver;
class Staff_performer;
class Stencil;
-class Swallow_engraver;
-class Swallow_performer;
+class Stream_event;
class System;
class Tempo_performer;
-class Tex_font_metric;
class Tie;
class Tie_details;
class Tie_configuration;
class Translator_change;
class Translator_group;
class Transposed_music;
-class Type_swallow_translator;
class yyFlexLexer;
typedef void (*Engraver_void_function_engraver_grob_info) (Engraver *, Grob_info);
typedef void (*Translator_void_method_ptr) (Translator *);
-
-/* FIXME: when Link_array is dropped, do grand s/r to vector<TYPE*>. */
-#if STD_VECTOR
-
-#include "std-vector.hh"
-
-#define Link_array__char_ std::vector<char*>
-#define Link_array__Grob_ std::vector<Grob*>
-#define Link_array__Accidental_placement_entry_ std::vector<Accidental_placement_entry*>
-#define Link_array__Audio_item_ std::vector<Audio_item*>
-#define Link_array__Audio_note_ std::vector<Audio_note*>
-#define Link_array__Audio_piano_pedal_ std::vector<Audio_piano_pedal*>
-#define Link_array__Audio_staff_ std::vector<Audio_staff*>
-#define Link_array__Bracket_nesting_node_ std::vector<Bracket_nesting_node*>
-#define Link_array__Context_ std::vector<Context*>
-#define Link_array__Context_def_ std::vector<Context_def*>
-#define Link_array__Grob_ std::vector<Grob*>
-#define Link_array__Item_ std::vector<Item*>
-#define Link_array__Music_ std::vector<Music*>
-#define Link_array__Note_column_ std::vector<Note_column*>
-#define Link_array__Output_def_ std::vector<Output_def*>
-#define Link_array__Slur_configuration_ std::vector<Slur_configuration*>
-#define Link_array__Source_file_ std::vector<Source_file*>
-#define Link_array__Spanner_ std::vector<Spanner*>
-#define Link_array__Tie_configuration_ std::vector<Tie_configuration*>
-#else /* !STD_VECTOR */
-#define Link_array__char_ Link_array<char>
-#define Link_array__Grob_ Link_array<Grob>
-#define Link_array__Accidental_placement_entry_ Link_array<Accidental_placement_entry>
-#define Link_array__Audio_item_ Link_array<Audio_item>
-#define Link_array__Audio_note_ Link_array<Audio_note>
-#define Link_array__Audio_piano_pedal_ Link_array<Audio_piano_pedal>
-#define Link_array__Audio_staff_ Link_array<Audio_staff>
-#define Link_array__Bracket_nesting_node_ Link_array<Bracket_nesting_node>
-#define Link_array__Context_ Link_array<Context>
-#define Link_array__Context_def_ Link_array<Context_def>
-#define Link_array__Grob_ Link_array<Grob>
-#define Link_array__Item_ Link_array<Item>
-#define Link_array__Music_ Link_array<Music>
-#define Link_array__Note_column_ Link_array<Note_column>
-#define Link_array__Output_def_ Link_array<Output_def>
-#define Link_array__Slur_configuration_ Link_array<Slur_configuration>
-#define Link_array__Source_file_ Link_array<Source_file>
-#define Link_array__Spanner_ Link_array<Spanner>
-#define Link_array__Tie_configuration_ Link_array<Tie_configuration>
-#endif /* !STD_VECTOR */
-
-
#endif /* LILY_PROTO_HH */