# Hurricane Documentation

# Hurricane VLSI Database

List of all members | Public Member Functions
Hurricane::Initializer< T > Class Template Reference

Register a static initialization function. More...

## Public Member Functions

| Initializer (unsigned int order)

## Detailed Description

### template<typename T>
class Hurricane::Initializer< T >

Register a static initialization function.

# Initializer Mechanism

In C++, there is currently no way to guarantee the order into which the static initialization (variables) in various modules will be done.

The Initializer template class provide a way to perform a static initialization across multiple modules in an ordered fashion, thus solving potential dependency problems between initialisation.

## Constructor & Destructor Documentation

## ◆ Initializer()

template<typename T >

Hurricane::Initializer< T >::Initializer | ( | unsigned int | order | ) |

inline

Register a static initializer for the template type `T`. Initializer is a object that must be kept in a `static` variable in a compilation unit (i.e. a ``.cpp file).

The template type `T` (a class) must provide a static function named `initialize`, with exactly the following signature: `void T::initialize()`.

The documentation for this class was generated from the following files:

- Initializer.h
- Initializer.dox