Introduction to ETL<ToolKit>


The Extended Template Library (ETL)<ToolKit> provides a C++ template implementation for various Abstract Data Types. It uses C++ operator overloading uniformly across all container classes included in the library. Below we list some of those operators for reference. The number of operators available is generally much larger including the usual comparison operators and the assignment operator.

Let C be a container and let e be an element for C.

When iterating, the following opeators are available either through the Iterator<T> class, or directly supported by the container.

User-defined types used to instantiate template parameters must be well-defined. A type is well-defined when it satisfies the following set of requirements.

  1. Provides a default constructor (for use with arrays).
  2. Provides a copy constructor.
  3. Provides a destructor (for consistency, even if not needed).
  4. Overloads: operator= operator== operator!= .

This is the minimum required of any type. In the example below, 'const' is one way to overload opeator== for a type T.

int 
operator==(const T& t) const 
   {                                    
    // return 1 if equal, 0 otherwise;                                
   }                                          

Copyright©2005-2026 Recursion Software LLC
All Rights Reserved - For use by licensed users only.