1 // minmax_check header -------------------------------------------------------// 2 3 // Copyright Beman Dawes 2002 4 // Copyright Rene Rivera 2004. 5 // Copyright Gennaro Prota 2006. 6 // 7 // Distributed under the Boost Software License, Version 1.0. 8 // (See accompanying file LICENSE_1_0.txt or copy at 9 // http://www.boost.org/LICENSE_1_0.txt) 10 11 #ifndef BOOST_MINMAX_CHECK_HPP 12 #define BOOST_MINMAX_CHECK_HPP 13 14 #include "inspector.hpp" 15 16 namespace boost 17 { 18 namespace inspect 19 { 20 class minmax_check : public inspector 21 { 22 long m_errors; 23 24 public: 25 26 minmax_check(); name() const27 virtual const char * name() const { return "*M*"; } desc() const28 virtual const char * desc() const { return "uses of min or max that" 29 " have not been protected from the min/max macros," 30 " or unallowed #undef-s"; } 31 32 virtual void inspect( 33 const std::string & library_name, 34 const path & full_path, 35 const std::string & contents); 36 ~minmax_check()37 virtual ~minmax_check() 38 { 39 std::cout << " " << m_errors << " violations of the Boost min/max guidelines" << line_break(); 40 } 41 }; 42 } 43 } 44 45 #endif // BOOST_MINMAX_CHECK_HPP 46