TPT is a template scripting language implemented in C++ , designed to be integrated with C++ programs. It is intended as a fast, lightweight replacement for full blown scripting languages, providing an easy interface for embedding TPT scripts in C++ code. The TPT language was originally based on PML.

The TPT interpreter runs in one pass, avoiding expensive compilation. The language relies on C++ streams for I/O, making TPT more easily portable, small, and fast. There are no bulky modules to include. TPT does not execute as a program or script. It instead translates templates to text, and relies on the C++ program to decide what to do with the text.

What is TPT used for? At this time, TPT is used for generating CGI web pages, C and C++ source code, Make files, and e-mail messages.

LibTPT is targeted at both Unix and Windows platforms that have ISO IEC 14882-1998 compliant C++ compilers. Basically this means the compiler has to support namespaces correctly and the modern cast operators.

The current release version is 1.30.

I rarely update this code any more unless someone contacts me with a specific patch or problem that is easily fixed.


  • BSD License
  • Platforms
    • BSD
    • Windows
    • Linux
    • OS X
    • Solaris
    • Posix compliant operating systems
  • C++ namespace
    • TPT
  • Requirements
    • GCC 3+ on Unix systems
    • VC++ 6+ on Windows
    • May build with Forte on Solaris (hasn’t been tested in over a year)
  • Limitations
    • 32 bit address space. No 64-bit port.
    • Expressions support strings and 64-bit integers, but not floating point.
    • No support for unicode.
  • Projects that use LibTPT
    • clo++ Command Line Parser Generator
    • Generating 300,000 lines of code for a Real-Time database for a certain train control center system.
    • easy album manager