/* * * Copyright (c) 2003 Dr John Maddock * Use, modification and distribution is subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) * * This file implements the following: * void bcp_implementation::is_source_file(const fs::path& p) * void bcp_implementation::is_html_file(const fs::path& p) * void bcp_implementation::is_binary_file(const fs::path& p) */ #include "bcp_imp.hpp" #include bool bcp_implementation::is_source_file(const fs::path& p) { static const boost::regex e( ".*\\." "(?:" "c|cxx|h|hxx|inc|inl|.?pp|yy?" ")", boost::regex::perl | boost::regex::icase ); return boost::regex_match(p.filename(), e); } bool bcp_implementation::is_html_file(const fs::path& p) { static const boost::regex e( ".*\\." "(?:" "html?|css" ")" ); return boost::regex_match(p.filename(), e); } bool bcp_implementation::is_binary_file(const fs::path& p) { if(m_cvs_mode || m_svn_mode) { std::map::iterator pos = m_cvs_paths.find(p); if(pos != m_cvs_paths.end()) return pos->second; } static const boost::regex e( ".*\\." "(?:" "c|cxx|cpp|h|hxx|hpp|inc|html?|css|mak|in" ")" "|" "(Jamfile|makefile|configure)", boost::regex::perl | boost::regex::icase); return !boost::regex_match(p.leaf(), e); } bool bcp_implementation::is_jam_file(const fs::path& p) { static const boost::regex e( ".*\\." "(?:" "jam|v2" ")" "|" "(Jamfile|Jamroot)\\.?", boost::regex::perl | boost::regex::icase ); return boost::regex_match(p.filename(), e); }