00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef SGE_PATH_HPP_INCLUDED
00022 #define SGE_PATH_HPP_INCLUDED
00023
00024 #include "string.hpp"
00025 #include <boost/filesystem/operations.hpp>
00026 #include <boost/filesystem/path.hpp>
00027
00028 namespace sge
00029 {
00030
00031 namespace detail
00032 {
00033
00034 template<typename Ch>
00035 struct choose_path_traits;
00036
00037 template<>
00038 struct choose_path_traits<char> {
00039 typedef boost::filesystem::path_traits type;
00040 };
00041
00042 template<>
00043 struct choose_path_traits<wchar_t> {
00044 typedef boost::filesystem::wpath_traits type;
00045 };
00046
00047 typedef string path_string;
00048
00049 }
00050
00051 typedef boost::filesystem::basic_path<detail::path_string, detail::choose_path_traits<char_type>::type> path;
00052 typedef boost::filesystem::basic_directory_iterator<path> directory_iterator;
00053
00054 }
00055
00056 #endif