#ifndef DELETE_OBJECTS_H
#define DELETE_OBJECTS_H

/*!
  \file
  \brief コンテナ資源の解放テンプレート

  \author Satofumi KAMIMURA

  $Id: deleteObjects.h 286 2008-10-20 09:40:22Z satofumi $
*/

#include <algorithm>


/*!
  \brief コンテナ資源の解放テンプレート
*/
struct DeleteObjects {
  /*!
    \brief オブジェクトの削除

    \param ptr [i] オブジェクトへのポインタ
  */
  template<typename T> void operator()(const T* ptr) const {
    if (ptr) {
      delete ptr;
      ptr = NULL;
    }
  }
};

#endif /* !DELETE_OBJECTS_H */
