2 This directory contains the subset of XTL required by LyX.
3 The full distribution includes extensive tests and documentation.
4 If you encounter compiler errors in xtl code when compiling LyX please
5 get a copy of the full distribution and run the regression tests on your
6 system. Report any problems found to the xtl mailing list.
8 See: http://gsd.di.uminho.pt/jop/xtl/
10 -------------------------===========================----------------------
13 The eXternalization Template Library (XTL)
14 ------------------------------------------
16 The XTL is a library of template classes and functions for
17 reading/writing structured data to/from an external (platform
18 independent) representation. This process is also usually known as
19 marshalling, serialization or pickling, and is useful both for
20 heterogeneous network programming and portable persistent storage.
22 Currently, the XTL supports XDR (RFC1014), GIOP CDR (CORBA) and
23 readable ascii text (write-only) as data formats. Memory buffers
24 are usable as data sources/targets. C file streams, C++
25 iostreams and POSIX iovecs are also planned.
27 Besides the usual C data types (basic, structs, pointers, unions), the
28 XTL also supports C++ constructs, such as pointers to base classes and
29 template types, namely, STL containers.
31 The XTL does not include any kind of IDL, and as such, the programmer
32 is required to write a "filter" for each data type. The API is
33 somewhat modeled on the original XDR library by Sun, in that the same
34 filter is used for both reading and writing.
36 However, heavy usage of templates makes the API simpler and type safe.
37 Function inlining and careful avoidance of pointers or virtual
38 functions, also make generated code faster. This is a sample
41 PPRO 200 Mhz + output -> membuffer + size ~= 280 bytes
45 *XTL* XDR 9.3 us 47.7 us
46 *XTL* "little" XDR 7.8 us 45.8 us
47 *XTL* GIOP 8.5 us 58.3 us
48 Sun XDR 25.0 us 28.5 us
50 For more information and to download a distribution, visit
51 http://gil.di.uminho.pt/~jop/xtl/ .
53 Files under /include and /doc are distributed acording to
54 the GNU LGPL. See COPYING.LIB for licensing details.
56 Everything else is public domain.
60 - José Orlando Pereira
61 jop@di.uminho.pt, http://gsd.di.uminho.pt/~jop
62 Departamento de Informatica, Universidade do Minho
63 Campus de Gualtar, 4710-057 Braga, Portugal
65 - Asger Alstrup Nielsen
66 alstrup@sophusmedical.dk
69 allan.rae@mailbox.uq.edu.au
73 Department of Biological & Medical Systems, Imperial College, London, UK