Blame gettext-tools/gnulib-lib/html-styled-ostream.h

Packit Bot 06c835
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
Packit Bot 06c835
Packit Bot 06c835
#line 1 "html-styled-ostream.oo.h"
Packit Bot 06c835
/* Output stream for CSS styled text, producing HTML output.
Packit Bot 06c835
   Copyright (C) 2006, 2015 Free Software Foundation, Inc.
Packit Bot 06c835
   Written by Bruno Haible <bruno@clisp.org>, 2006.
Packit Bot 06c835
Packit Bot 06c835
   This program is free software: you can redistribute it and/or modify
Packit Bot 06c835
   it under the terms of the GNU General Public License as published by
Packit Bot 06c835
   the Free Software Foundation; either version 3 of the License, or
Packit Bot 06c835
   (at your option) any later version.
Packit Bot 06c835
Packit Bot 06c835
   This program is distributed in the hope that it will be useful,
Packit Bot 06c835
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Bot 06c835
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Bot 06c835
   GNU General Public License for more details.
Packit Bot 06c835
Packit Bot 06c835
   You should have received a copy of the GNU General Public License
Packit Bot 06c835
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
Packit Bot 06c835
Packit Bot 06c835
#ifndef _HTML_STYLED_OSTREAM_H
Packit Bot 06c835
#define _HTML_STYLED_OSTREAM_H
Packit Bot 06c835
Packit Bot 06c835
#include "styled-ostream.h"
Packit Bot 06c835
Packit Bot 06c835
Packit Bot 06c835
#line 28 "html-styled-ostream.h"
Packit Bot 06c835
struct html_styled_ostream_representation;
Packit Bot 06c835
/* html_styled_ostream_t is defined as a pointer to struct html_styled_ostream_representation.
Packit Bot 06c835
   In C++ mode, we use a smart pointer class.
Packit Bot 06c835
   In C mode, we have no other choice than a typedef to the root class type.  */
Packit Bot 06c835
#if IS_CPLUSPLUS
Packit Bot 06c835
struct html_styled_ostream_t
Packit Bot 06c835
{
Packit Bot 06c835
private:
Packit Bot 06c835
  struct html_styled_ostream_representation *_pointer;
Packit Bot 06c835
public:
Packit Bot 06c835
  html_styled_ostream_t () : _pointer (NULL) {}
Packit Bot 06c835
  html_styled_ostream_t (struct html_styled_ostream_representation *pointer) : _pointer (pointer) {}
Packit Bot 06c835
  struct html_styled_ostream_representation * operator -> () { return _pointer; }
Packit Bot 06c835
  operator struct html_styled_ostream_representation * () { return _pointer; }
Packit Bot 06c835
  operator struct any_ostream_representation * () { return (struct any_ostream_representation *) _pointer; }
Packit Bot 06c835
  operator struct styled_ostream_representation * () { return (struct styled_ostream_representation *) _pointer; }
Packit Bot 06c835
  operator void * () { return _pointer; }
Packit Bot 06c835
  bool operator == (const void *p) { return _pointer == p; }
Packit Bot 06c835
  bool operator != (const void *p) { return _pointer != p; }
Packit Bot 06c835
  operator ostream_t () { return (ostream_t) (struct any_ostream_representation *) _pointer; }
Packit Bot 06c835
  explicit html_styled_ostream_t (ostream_t x) : _pointer ((struct html_styled_ostream_representation *) (void *) x) {}
Packit Bot 06c835
  operator styled_ostream_t () { return (styled_ostream_t) (struct styled_ostream_representation *) _pointer; }
Packit Bot 06c835
  explicit html_styled_ostream_t (styled_ostream_t x) : _pointer ((struct html_styled_ostream_representation *) (void *) x) {}
Packit Bot 06c835
};
Packit Bot 06c835
#else
Packit Bot 06c835
typedef styled_ostream_t html_styled_ostream_t;
Packit Bot 06c835
#endif
Packit Bot 06c835
Packit Bot 06c835
/* Functions that invoke the methods.  */
Packit Bot 06c835
extern        void html_styled_ostream_write_mem (html_styled_ostream_t first_arg, const void *data, size_t len);
Packit Bot 06c835
extern         void html_styled_ostream_flush (html_styled_ostream_t first_arg);
Packit Bot 06c835
extern         void html_styled_ostream_free (html_styled_ostream_t first_arg);
Packit Bot 06c835
extern          void html_styled_ostream_begin_use_class (html_styled_ostream_t first_arg, const char *classname);
Packit Bot 06c835
extern          void html_styled_ostream_end_use_class (html_styled_ostream_t first_arg, const char *classname);
Packit Bot 06c835
Packit Bot 06c835
/* Type representing an implementation of html_styled_ostream_t.  */
Packit Bot 06c835
struct html_styled_ostream_implementation
Packit Bot 06c835
{
Packit Bot 06c835
  const typeinfo_t * const *superclasses;
Packit Bot 06c835
  size_t superclasses_length;
Packit Bot 06c835
  size_t instance_size;
Packit Bot 06c835
#define THIS_ARG html_styled_ostream_t first_arg
Packit Bot 06c835
#include "html_styled_ostream.vt.h"
Packit Bot 06c835
#undef THIS_ARG
Packit Bot 06c835
};
Packit Bot 06c835
Packit Bot 06c835
/* Public portion of the object pointed to by a html_styled_ostream_t.  */
Packit Bot 06c835
struct html_styled_ostream_representation_header
Packit Bot 06c835
{
Packit Bot 06c835
  const struct html_styled_ostream_implementation *vtable;
Packit Bot 06c835
};
Packit Bot 06c835
Packit Bot 06c835
#if HAVE_INLINE
Packit Bot 06c835
Packit Bot 06c835
/* Define the functions that invoke the methods as inline accesses to
Packit Bot 06c835
   the html_styled_ostream_implementation.
Packit Bot 06c835
   Use #define to avoid a warning because of extern vs. static.  */
Packit Bot 06c835
Packit Bot 06c835
# define html_styled_ostream_write_mem html_styled_ostream_write_mem_inline
Packit Bot 06c835
static inline void
Packit Bot 06c835
html_styled_ostream_write_mem (html_styled_ostream_t first_arg, const void *data, size_t len)
Packit Bot 06c835
{
Packit Bot 06c835
  const struct html_styled_ostream_implementation *vtable =
Packit Bot 06c835
    ((struct html_styled_ostream_representation_header *) (struct html_styled_ostream_representation *) first_arg)->vtable;
Packit Bot 06c835
  vtable->write_mem (first_arg,data,len);
Packit Bot 06c835
}
Packit Bot 06c835
Packit Bot 06c835
# define html_styled_ostream_flush html_styled_ostream_flush_inline
Packit Bot 06c835
static inline void
Packit Bot 06c835
html_styled_ostream_flush (html_styled_ostream_t first_arg)
Packit Bot 06c835
{
Packit Bot 06c835
  const struct html_styled_ostream_implementation *vtable =
Packit Bot 06c835
    ((struct html_styled_ostream_representation_header *) (struct html_styled_ostream_representation *) first_arg)->vtable;
Packit Bot 06c835
  vtable->flush (first_arg);
Packit Bot 06c835
}
Packit Bot 06c835
Packit Bot 06c835
# define html_styled_ostream_free html_styled_ostream_free_inline
Packit Bot 06c835
static inline void
Packit Bot 06c835
html_styled_ostream_free (html_styled_ostream_t first_arg)
Packit Bot 06c835
{
Packit Bot 06c835
  const struct html_styled_ostream_implementation *vtable =
Packit Bot 06c835
    ((struct html_styled_ostream_representation_header *) (struct html_styled_ostream_representation *) first_arg)->vtable;
Packit Bot 06c835
  vtable->free (first_arg);
Packit Bot 06c835
}
Packit Bot 06c835
Packit Bot 06c835
# define html_styled_ostream_begin_use_class html_styled_ostream_begin_use_class_inline
Packit Bot 06c835
static inline void
Packit Bot 06c835
html_styled_ostream_begin_use_class (html_styled_ostream_t first_arg, const char *classname)
Packit Bot 06c835
{
Packit Bot 06c835
  const struct html_styled_ostream_implementation *vtable =
Packit Bot 06c835
    ((struct html_styled_ostream_representation_header *) (struct html_styled_ostream_representation *) first_arg)->vtable;
Packit Bot 06c835
  vtable->begin_use_class (first_arg,classname);
Packit Bot 06c835
}
Packit Bot 06c835
Packit Bot 06c835
# define html_styled_ostream_end_use_class html_styled_ostream_end_use_class_inline
Packit Bot 06c835
static inline void
Packit Bot 06c835
html_styled_ostream_end_use_class (html_styled_ostream_t first_arg, const char *classname)
Packit Bot 06c835
{
Packit Bot 06c835
  const struct html_styled_ostream_implementation *vtable =
Packit Bot 06c835
    ((struct html_styled_ostream_representation_header *) (struct html_styled_ostream_representation *) first_arg)->vtable;
Packit Bot 06c835
  vtable->end_use_class (first_arg,classname);
Packit Bot 06c835
}
Packit Bot 06c835
Packit Bot 06c835
#endif
Packit Bot 06c835
Packit Bot 06c835
extern const typeinfo_t html_styled_ostream_typeinfo;
Packit Bot 06c835
#define html_styled_ostream_SUPERCLASSES &html_styled_ostream_typeinfo, styled_ostream_SUPERCLASSES
Packit Bot 06c835
#define html_styled_ostream_SUPERCLASSES_LENGTH (1 + styled_ostream_SUPERCLASSES_LENGTH)
Packit Bot 06c835
Packit Bot 06c835
extern const struct html_styled_ostream_implementation html_styled_ostream_vtable;
Packit Bot 06c835
Packit Bot 06c835
#line 28 "html-styled-ostream.oo.h"
Packit Bot 06c835
Packit Bot 06c835
Packit Bot 06c835
#ifdef __cplusplus
Packit Bot 06c835
extern "C" {
Packit Bot 06c835
#endif
Packit Bot 06c835
Packit Bot 06c835
Packit Bot 06c835
/* Create an output stream that takes input in the UTF-8 encoding and
Packit Bot 06c835
   writes it in HTML form on DESTINATION, styled with the file CSS_FILENAME.
Packit Bot 06c835
   Note that the resulting stream must be closed before DESTINATION can be
Packit Bot 06c835
   closed.  */
Packit Bot 06c835
extern html_styled_ostream_t
Packit Bot 06c835
       html_styled_ostream_create (ostream_t destination,
Packit Bot 06c835
                                   const char *css_filename);
Packit Bot 06c835
Packit Bot 06c835
Packit Bot 06c835
#ifdef __cplusplus
Packit Bot 06c835
}
Packit Bot 06c835
#endif
Packit Bot 06c835
Packit Bot 06c835
#endif /* _HTML_STYLED_OSTREAM_H */