view help2html/buffer.h @ 6:607e3be6bad8

Adjust to the moving target called the C++ standard. Apparently nowadays it's not allowed to define an explicit copy constructor but not an assignment operator. Consequently, defining the explicit copy constructor in terms of the implicit/automatic assignment operator for general convenience no longer works. Add assignment operators. Caution: not tested with the IBM compiler, but there's no particular reason it shouldn't work.
author David A. Holland
date Mon, 30 May 2022 23:46:22 -0400
parents 13d2b8934445
children
line wrap: on
line source

struct buffer {
  char *text;
  size_t len;
  size_t allocsize;

  /* structural invariant: text[len]==0 */
};

void buffer_init(struct buffer *);
void buffer_cleanup(struct buffer *);

void buffer_append(struct buffer *, const char *);
void buffer_add(struct buffer *, int ch);
void buffer_start(struct buffer *, int ch);
void buffer_clear(struct buffer *);