TRL stands for Template Reflection Library. It adds data member reflection to C++ using template meta-programming techniques and the standard C++ preprocessor. This reflection is used to implement serialize and deserialize functions. Since it uses the standard preprocessor no special preprocessor is needed to use TRL.

You can download the latest version of TRL here. There also is a version of TRL that supports the upcoming c++ 0x standard. You can download it here. Both of these versions require the boost library to compile.

TRL is free or open source software licensed under a BSD License.