mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-28 12:26:59 +00:00
…
|
||
---|---|---|
.. | ||
.cvsignore | ||
autobuf.h | ||
autoio.h | ||
ChangeLog | ||
config.h | ||
COPYING.LIB | ||
giop.h | ||
graphio.h | ||
macros.h | ||
Makefile.am | ||
objio.h | ||
README | ||
text.h | ||
vobjio.h | ||
xdr.h |
XTL-1.3.pl11
This directory contains the subset of XTL required by LyX.
The full distribution includes extensive tests and documentation.
If you encounter compiler errors in xtl code when compiling LyX please
get a copy of the full distribution and run the regression tests on your
system. Report any problems found to the xtl mailing list.
See: http://gsd.di.uminho.pt/jop/xtl/
-------------------------===========================----------------------
The eXternalization Template Library (XTL)
------------------------------------------
The XTL is a library of template classes and functions for
reading/writing structured data to/from an external (platform
independent) representation. This process is also usually known as
marshalling, serialization or pickling, and is useful both for
heterogeneous network programming and portable persistent storage.
Currently, the XTL supports XDR (RFC1014), GIOP CDR (CORBA) and
readable ascii text (write-only) as data formats. Memory buffers
are usable as data sources/targets. C file streams, C++
iostreams and POSIX iovecs are also planned.
Besides the usual C data types (basic, structs, pointers, unions), the
XTL also supports C++ constructs, such as pointers to base classes and
template types, namely, STL containers.
The XTL does not include any kind of IDL, and as such, the programmer
is required to write a "filter" for each data type. The API is
somewhat modeled on the original XDR library by Sun, in that the same
filter is used for both reading and writing.
However, heavy usage of templates makes the API simpler and type safe.
Function inlining and careful avoidance of pointers or virtual
functions, also make generated code faster. This is a sample
benchmark:
PPRO 200 Mhz + output -> membuffer + size ~= 280 bytes
-O16 not opt
memcpy 2.8 us 2.2 us
*XTL* XDR 9.3 us 47.7 us
*XTL* "little" XDR 7.8 us 45.8 us
*XTL* GIOP 8.5 us 58.3 us
Sun XDR 25.0 us 28.5 us
For more information and to download a distribution, visit
http://gil.di.uminho.pt/~jop/xtl/ .
Files under /include and /doc are distributed acording to
the GNU LGPL. See COPYING.LIB for licensing details.
Everything else is public domain.
Contributors
------------
- Jos<6F> Orlando Pereira
jop@di.uminho.pt, http://gsd.di.uminho.pt/~jop
Departamento de Informatica, Universidade do Minho
Campus de Gualtar, 4710-057 Braga, Portugal
- Asger Alstrup Nielsen
alstrup@sophusmedical.dk
- Allan Rae
allan.rae@mailbox.uq.edu.au
- Angus Leeming
a.leeming@ic.ac.uk
Department of Biological & Medical Systems, Imperial College, London, UK