#if !defined(HTML_H)
# define HTML_H
struct word {
char *s;
word *next;
word (const char *w, int n);
~word ();
};
class word_list {
public:
word_list ();
int flush (FILE *f);
void add_word (const char *s, int n);
int get_length (void);
private:
int length;
word *head;
word *tail;
};
class simple_output {
public:
simple_output(FILE *, int max_line_length);
simple_output &put_string(const char *, int);
simple_output &put_string(const char *s);
simple_output &put_string(const string &s);
simple_output &put_troffps_char (const char *s);
simple_output &put_translated_string(const char *s);
simple_output &put_number(int);
simple_output &put_float(double);
simple_output &put_symbol(const char *);
simple_output &put_literal_symbol(const char *);
simple_output &set_fixed_point(int);
simple_output &simple_comment(const char *);
simple_output &begin_comment(const char *);
simple_output &comment_arg(const char *);
simple_output &end_comment();
simple_output &set_file(FILE *);
simple_output &include_file(FILE *);
simple_output ©_file(FILE *);
simple_output &end_line();
simple_output &put_raw_char(char);
simple_output &special(const char *);
simple_output &enable_newlines(int);
simple_output &check_newline(int n);
simple_output &nl(void);
simple_output &force_nl(void);
simple_output &space_or_newline (void);
simple_output &begin_tag (void);
FILE *get_file();
private:
FILE *fp;
int max_line_length; int col;
int fixed_point;
int newlines; word_list last_word;
void flush_last_word (void);
int check_space (const char *s, int n);
};
inline FILE *simple_output::get_file()
{
return fp;
}
#endif