mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-28 12:26:59 +00:00
6d678c927c
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@808 a592a061-630c-0410-9148-cb99ea01b6c8
75 lines
2.6 KiB
Plaintext
75 lines
2.6 KiB
Plaintext
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
|
||
|