Exceptions.h
上传用户:lijia5631
上传日期:2008-11-10
资源大小:1214k
文件大小:4k
源码类别:

视频捕捉/采集

开发平台:

MultiPlatform

  1. /**   * cubicles   *   * This is an implementation of the Viola-Jones object detection    * method and some extensions.  The code is mostly platform-   * independent and uses only standard C and C++ libraries.  It   * can make use of MPI for parallel training and a few Windows   * MFC functions for classifier display.   *   * Mathias Kolsch, matz@cs.ucsb.edu   *   * $Id: Exceptions.h,v 1.14 2004/09/24 22:26:53 matz Exp $
  2. **/ // Exceptions.h: header file for all C++ exceptions // that can occur during cubicle use. // ////////////////////////////////////////////////////////////////////
  3. //
  4. // By downloading, copying, installing or using the software you 
  5. // agree to this license.  If you do not agree to this license, 
  6. // do not download, install, copy or use the software.
  7. //
  8. // Copyright (C) 2004, Mathias Kolsch, all rights reserved.
  9. // Third party copyrights are property of their respective owners.
  10. //
  11. // Redistribution and use in binary form, with or without 
  12. // modification, is permitted for non-commercial purposes only.
  13. // Redistribution in source, with or without modification, is 
  14. // prohibited without prior written permission.
  15. // If granted in writing in another document, personal use and 
  16. // modification are permitted provided that the following two
  17. // conditions are met:
  18. //
  19. // 1.Any modification of source code must retain the above 
  20. //   copyright notice, this list of conditions and the following 
  21. //   disclaimer.
  22. //
  23. // 2.Redistribution's in binary form must reproduce the above 
  24. //   copyright notice, this list of conditions and the following 
  25. //   disclaimer in the documentation and/or other materials provided
  26. //   with the distribution.
  27. //
  28. // This software is provided by the copyright holders and 
  29. // contributors "as is" and any express or implied warranties, 
  30. // including, but not limited to, the implied warranties of 
  31. // merchantability and fitness for a particular purpose are 
  32. // disclaimed.  In no event shall the copyright holder or 
  33. // contributors be liable for any direct, indirect, incidental, 
  34. // special, exemplary, or consequential damages (including, but not 
  35. // limited to, procurement of substitute goods or services; loss of 
  36. // use, data, or profits; or business interruption) however caused
  37. // and on any theory of liability, whether in contract, strict 
  38. // liability, or tort (including negligence or otherwise) arising 
  39. // in any way out of the use of this software, even if advised of 
  40. // the possibility of such damage.
  41. //
  42. ////////////////////////////////////////////////////////////////////
  43. #ifndef INTEGRATION_TEMPLATES_EXCEPTIONS_H #define INTEGRATION_TEMPLATES_EXCEPTIONS_H #include <string> #ifdef USE_MFC //using namespace std; // this prompts a bug in VC++ (friends and private member access) // thus we have to declare all usages individually: using std::string; #else // USE_MFC using namespace std; #endif // USE_MFC // Visual C++ doesn't understand exception specifications of functions: #if defined(_MSC_VER) && _MSC_VER<1400 #define throw(x) /* throw(x) */ #endif #if defined(WIN32) && defined(GetMessage) #undef GetMessage #endif class ITException { public:   ITException(string msg);   const string GetMessage() { return m_msg; }   virtual ostream& output(ostream& os) const;      friend ostream& operator<<(ostream& os, const ITException& ite);  protected:   string m_msg; }; class ITETraining : public ITException {  public:   ITETraining(string msg); }; class ITETrainedPerfectWeak : public ITETraining {  public:   ITETrainedPerfectWeak();   }; class ITETrainBadSeparation : public ITETraining {  public:   ITETrainBadSeparation();   }; class ITETrainingNoMoreNegs : public ITETraining {  public:   ITETrainingNoMoreNegs(); }; class ITEFile : public ITException {  public:   ITEFile(string filename, string msg);  protected:   string m_filename; }; class ITEFileNotFound : public ITEFile {  public:   ITEFileNotFound(string filename); }; #endif // INTEGRATION_TEMPLATES_EXCEPTIONS_H