• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //  boost/filesystem/convenience.hpp  ----------------------------------------//
2 
3 //  Copyright Beman Dawes, 2002-2005
4 //  Copyright Vladimir Prus, 2002
5 //  Use, modification, and distribution is subject to the Boost Software
6 //  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 //  http://www.boost.org/LICENSE_1_0.txt)
8 
9 //  See library home page at http://www.boost.org/libs/filesystem
10 
11 //----------------------------------------------------------------------------//
12 
13 #ifndef BOOST_FILESYSTEM3_CONVENIENCE_HPP
14 #define BOOST_FILESYSTEM3_CONVENIENCE_HPP
15 
16 #include <boost/config.hpp>
17 
18 # if defined( BOOST_NO_STD_WSTRING )
19 #   error Configuration not supported: Boost.Filesystem V3 and later requires std::wstring support
20 # endif
21 
22 #include <boost/filesystem/operations.hpp>
23 #include <boost/system/error_code.hpp>
24 
25 #include <boost/config/abi_prefix.hpp> // must be the last #include
26 
27 namespace boost
28 {
29   namespace filesystem
30   {
31 
32 # ifndef BOOST_FILESYSTEM_NO_DEPRECATED
33 
extension(const path & p)34     inline std::string extension(const path & p)
35     {
36       return p.extension().string();
37     }
38 
basename(const path & p)39     inline std::string basename(const path & p)
40     {
41       return p.stem().string();
42     }
43 
change_extension(const path & p,const path & new_extension)44     inline path change_extension( const path & p, const path & new_extension )
45     {
46       path new_p( p );
47       new_p.replace_extension( new_extension );
48       return new_p;
49     }
50 
51 # endif
52 
53 
54   } // namespace filesystem
55 } // namespace boost
56 
57 #include <boost/config/abi_suffix.hpp> // pops abi_prefix.hpp pragmas
58 #endif // BOOST_FILESYSTEM3_CONVENIENCE_HPP
59