Description:
Output stream that accumulates the output in memory.

Files:
lib/memory-ostream.oo.h
lib/memory-ostream.oo.c

Depends-on:
ostream
error
stdlib
gettext
xalloc
xsize

configure.ac:

Makefile.am:
lib_SOURCES += memory-ostream.c
# This is a Makefile rule that generates multiple files at once; see the
# automake documentation, node "Multiple Outputs", for details.
$(srcdir)/memory-ostream.h : $(top_srcdir)/build-aux/moopp memory-ostream.oo.h memory-ostream.oo.c ostream.oo.h
	$(top_srcdir)/build-aux/moopp $(MOOPPFLAGS) $(srcdir)/memory-ostream.oo.c $(srcdir)/memory-ostream.oo.h $(srcdir)/ostream.oo.h
$(srcdir)/memory-ostream.c $(srcdir)/memory_ostream.priv.h $(srcdir)/memory_ostream.vt.h : memory-ostream.h
	@test -f $@ || { \
	  trap 'rm -rf memory-ostream.lock' 1 2 13 15; \
	  if mkdir memory-ostream.lock 2>/dev/null; then \
	    echo "$(top_srcdir)/build-aux/moopp $(MOOPPFLAGS) $(srcdir)/memory-ostream.oo.c $(srcdir)/memory-ostream.oo.h $(srcdir)/ostream.oo.h"; \
	    $(top_srcdir)/build-aux/moopp $(MOOPPFLAGS) $(srcdir)/memory-ostream.oo.c $(srcdir)/memory-ostream.oo.h $(srcdir)/ostream.oo.h; \
	    result=$$?; rm -rf memory-ostream.lock; exit $$result; \
	  else \
	    while test -d memory-ostream.lock; do sleep 1; done; \
	    test -f $(srcdir)/memory-ostream.h; \
	  fi; \
	}
BUILT_SOURCES += memory-ostream.h memory-ostream.c memory_ostream.priv.h memory_ostream.vt.h
MAINTAINERCLEANFILES += memory-ostream.h memory-ostream.c memory_ostream.priv.h memory_ostream.vt.h
EXTRA_DIST += memory-ostream.h memory-ostream.c memory_ostream.priv.h memory_ostream.vt.h

Include:
"memory-ostream.h"

License:
GPL

Maintainer:
Bruno Haible

