/*============================================================================= Boost.Wave: A Standard compliant C++ preprocessor library http://www.boost.org/ Copyright (c) 2001-2010 Hartmut Kaiser. Distributed under 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) =============================================================================*/ #if !defined(BOOST_WAVE_FILESYSTEM_COMPATIBILITY_MAR_09_2009_0142PM) #define BOOST_WAVE_FILESYSTEM_COMPATIBILITY_MAR_09_2009_0142PM #include #include #include namespace boost { namespace wave { namespace util { /////////////////////////////////////////////////////////////////////////////// // filesystem wrappers allowing to handle different Boost versions #if !defined(BOOST_FILESYSTEM_NO_DEPRECATED) // interface wrappers for older Boost versions inline boost::filesystem::path initial_path() { return boost::filesystem::initial_path(); } inline boost::filesystem::path current_path() { return boost::filesystem::current_path(); } template inline boost::filesystem::path create_path(String const& p) { return boost::filesystem::path(p, boost::filesystem::native); } inline std::string leaf(boost::filesystem::path const& p) { return p.leaf(); } inline boost::filesystem::path branch_path(boost::filesystem::path const& p) { return p.branch_path(); } inline boost::filesystem::path normalize(boost::filesystem::path& p) { return p.normalize(); } inline std::string native_file_string(boost::filesystem::path const& p) { return p.native_file_string(); } #else // interface wrappers if deprecated functions do not exist inline boost::filesystem::path initial_path() { return boost::filesystem::initial_path(); } inline boost::filesystem::path current_path() { return boost::filesystem::current_path(); } template inline boost::filesystem::path create_path(String const& p) { return boost::filesystem::path(p); } inline std::string leaf(boost::filesystem::path const& p) { return p.filename(); } inline boost::filesystem::path branch_path(boost::filesystem::path const& p) { return p.parent_path(); } inline boost::filesystem::path normalize(boost::filesystem::path& p) { return p; // function doesn't exist anymore } inline std::string native_file_string(boost::filesystem::path const& p) { return p.file_string(); } #endif }}} #endif