[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
xtl, LyX and a small patch
- To: XTL <xtl@lsd.di.uminho.pt>
- Subject: xtl, LyX and a small patch
- From: Allan Rae <allan.rae@mailbox.uq.edu.au>
- Date: Fri, 10 Mar 2000 12:30:25 +1000 (GMT+1000)
- Delivered-To: mailing list xtl@lsd.di.uminho.pt
- Mailing-List: contact xtl-help@lsd.di.uminho.pt; run by ezmlm
Hi,
I'm the fellow who's trying to use xtl with LyX and I'm the main author of
LDN as well (thanks for the back link and the mention in the manual).
That's me introduced, now on with the patch.
I ran into a very annoying documentation bug when I first started using
xtl. A vitally important line was missing in the code samples that had me
very frustrated. The patch fixes the code samples.
It also adds a \usepackage{pslatex} so that the pdf file uses the standard
postscript fonts and is therefore readable in xpdf. It also looks a lot
neater in acroread and gv also. LaTeX also gets called an extra time so
that the citations are all correctly updated.
A couple of other small fixes to makefiles (mainly adding "./" to a few
test programs).
++++
Has anyone started or in anyone planning an automem_buffer<> that would do
it's own memory management? Resizing as needed rather than having a
separate "char buf[some_size_that_might_not_be_big_enough];".
Such a buffer would simplify the use of xtl in LyX where we'll be using
mem_buffers all the time for the gui independence work.
Additionally, I want to pass a memory buffer as a char *. That way we can
use the same function to handle inputs from scripts and other external
applications. It seems I should be able to externalize the
mem_buffer<raw_format> variable to get a buffer I can recreate at the
other end when it's internalized. This however complicates the work that
script writers would have to do since they don't have the benefit of xtl.
I was thinking of just directly modifying the buf[] before passing it as a
parameter to our function-dispatcher but this is ugly and format
dependent.
Instead, I was considering making an automem_buffer<>::c_str() function
that would prepend the buffer size to the buffer and return it as a char*.
This is potentially leaky but then so is using an ordinary mem_buffer<> in
this way (passing a char* as an arguement).
Thoughts?
Allan. (ARRae)
diff -u --recursive xtl-1.3/doc/Makefile xtl-1.3a/doc/Makefile
--- xtl-1.3/doc/Makefile Fri Mar 3 01:24:18 2000
+++ xtl-1.3a/doc/Makefile Thu Mar 9 21:06:37 2000
@@ -36,6 +36,7 @@
xtlguide.dvi: xtlguide.bbl xtlguide.tex
latex xtlguide.tex
+ latex xtlguide.tex
arch.ps: arch.fig
fig2dev -L ps arch.fig arch.ps
diff -u --recursive xtl-1.3/doc/xtlguide.tex xtl-1.3a/doc/xtlguide.tex
--- xtl-1.3/doc/xtlguide.tex Fri Mar 3 01:24:18 2000
+++ xtl-1.3a/doc/xtlguide.tex Thu Mar 9 21:17:48 2000
@@ -23,10 +23,11 @@
%
% $Id: xtlguide.tex 1.5 Thu, 02 Mar 2000 15:24:18 +0000 jop $
-\documentclass[11t,titlepage,twocolumn,letter]{article}
+\documentclass[titlepage,twocolumn]{article}
\usepackage{isolatin1}
\usepackage{epsfig}
\usepackage{fullpage}
+\usepackage{pslatex}
\title{XTL -- The Externalization Template Library}
\author{José Orlando Pereira\\
@@ -346,15 +347,17 @@
{\small\begin{verbatim}
char buf[SIZE];
mem_buffer mb(buf, SIZE);
+ GIOP_format<mem_buffer> gfmb(mb);
obj_output<GIOP_format<mem_buffer> >
- stream(mb);
+ stream(gfmb);
\end{verbatim}}
An XDR input stream from a file is declared as:
{\small\begin{verbatim}
FILE* fp=fopen("stuff", "r");
cfile_buffer fb(fp);
+ XDR_format<cfile_buffer> xffb(fb);
obj_input<XDR_format<cfile_buffer> >
- stream(fb);
+ stream(xffb);
\end{verbatim}}
A stream can then be used to externalize, or internalize, any
data-structure, by invoking the appropriate methods.
diff -u --recursive xtl-1.3/examples/bench/xtl/Makefile xtl-1.3a/examples/bench/xtl/Makefile
--- xtl-1.3/examples/bench/xtl/Makefile Wed Dec 29 04:37:31 1999
+++ xtl-1.3a/examples/bench/xtl/Makefile Thu Mar 9 21:51:28 2000
@@ -12,7 +12,7 @@
g++ -g -o $@ -I ../../../include $<
o%: %.cpp
- g++ -m486 -O16 -o $@ -I ../../../include $<
+ g++ -O16 -o $@ -I ../../../include $<
times: all
echo "raw" >> ../xtl.times 2>&1
@@ -20,25 +20,25 @@
time ./raw >> ../xtl.times 2>&1
time ./raw >> ../xtl.times 2>&1
echo "raw opt" >> ../xtl.times 2>&1
- time oraw >> ../xtl.times 2>&1
- time oraw >> ../xtl.times 2>&1
- time oraw >> ../xtl.times 2>&1
+ time ./oraw >> ../xtl.times 2>&1
+ time ./oraw >> ../xtl.times 2>&1
+ time ./oraw >> ../xtl.times 2>&1
echo "xdr" >> ../xtl.times 2>&1
- time xdr >> ../xtl.times 2>&1
- time xdr >> ../xtl.times 2>&1
- time xdr >> ../xtl.times 2>&1
+ time ./xdr >> ../xtl.times 2>&1
+ time ./xdr >> ../xtl.times 2>&1
+ time ./xdr >> ../xtl.times 2>&1
echo "xdr opt" >> ../xtl.times 2>&1
- time oxdr >> ../xtl.times 2>&1
- time oxdr >> ../xtl.times 2>&1
- time oxdr >> ../xtl.times 2>&1
+ time ./oxdr >> ../xtl.times 2>&1
+ time ./oxdr >> ../xtl.times 2>&1
+ time ./oxdr >> ../xtl.times 2>&1
echo "giop" >> ../xtl.times 2>&1
- time giop >> ../xtl.times 2>&1
- time giop >> ../xtl.times 2>&1
- time giop >> ../xtl.times 2>&1
+ time ./giop >> ../xtl.times 2>&1
+ time ./giop >> ../xtl.times 2>&1
+ time ./giop >> ../xtl.times 2>&1
echo "giop opt" >> ../xtl.times 2>&1
- time ogiop >> ../xtl.times 2>&1
- time ogiop >> ../xtl.times 2>&1
- time ogiop >> ../xtl.times 2>&1
+ time ./ogiop >> ../xtl.times 2>&1
+ time ./ogiop >> ../xtl.times 2>&1
+ time ./ogiop >> ../xtl.times 2>&1
dep:
makedepend -I ../../../include *.cpp
diff -u --recursive xtl-1.3/examples/tests/Makefile xtl-1.3a/examples/tests/Makefile
--- xtl-1.3/examples/tests/Makefile Fri Mar 3 01:24:18 2000
+++ xtl-1.3a/examples/tests/Makefile Thu Mar 9 21:03:07 2000
@@ -24,7 +24,7 @@
cat xtl.tests
xtl.tests: all
- (./raw ; oraw ; giop ; ogiop ; xdr ; oxdr) > xtl.tests 2>&1
+ (./raw ; ./oraw ; ./giop ; ./ogiop ; ./xdr ; ./oxdr) > xtl.tests 2>&1
dep:
makedepend -I ../../include *.cpp