#ifndef TN_FOUNDATION_PRIVATE_INIT_HPP
#define TN_FOUNDATION_PRIVATE_INIT_HPP

#include <map>

namespace tn {
namespace foundation {

typedef void (*FuncPtr)(bool);

struct Init {

  Init(FuncPtr);
  ~Init();

 private:

  typedef std::map<FuncPtr,int> CountMap;

  CountMap::iterator iterator;
  static CountMap* count_map;
};


} // namespace foundation
} // namespace tn

#endif /* TN_FOUNDATION_PRIVATE_INIT_HPP */

