truly empty? in filesystem_ext
This commit is contained in:
parent
ff279652bc
commit
d335f34a6c
@ -112,7 +112,7 @@ namespace nana { namespace experimental { namespace filesystem
|
||||
public:
|
||||
#if defined(NANA_WINDOWS)
|
||||
using value_type = wchar_t;
|
||||
const static value_type preferred_separator = '\\'; //? L'\\' ?
|
||||
const static value_type preferred_separator = L'\\'; //? L'\\' ?
|
||||
#else
|
||||
using value_type = char;
|
||||
const static value_type preferred_separator = '/';
|
||||
@ -151,10 +151,10 @@ namespace nana { namespace experimental { namespace filesystem
|
||||
//bool has_root_directory() const;
|
||||
//bool has_root_path() const;
|
||||
//bool has_relative_path() const;
|
||||
bool has_parent_path() const { return !parent_path().empty(); }; // temp;;
|
||||
bool has_filename() const { return !filename().empty(); }; // temp;
|
||||
bool has_parent_path() const { return !parent_path().string().empty(); }; // temp;;
|
||||
bool has_filename() const { return !filename().string().empty(); }; // temp;
|
||||
//bool has_stem() const;
|
||||
bool has_extension() const { return !extension().empty(); }; // temp
|
||||
bool has_extension() const { return !extension().string().empty(); }; // temp
|
||||
//bool is_absolute() const;
|
||||
//bool is_relative() const;
|
||||
|
||||
|
@ -110,6 +110,7 @@ namespace nana { namespace experimental { namespace filesystem
|
||||
return pathstr_.compare(p.pathstr_);
|
||||
}
|
||||
|
||||
/// true if the path is empty, false otherwise. ??
|
||||
bool path::empty() const noexcept
|
||||
{
|
||||
#if defined(NANA_WINDOWS)
|
||||
@ -122,16 +123,19 @@ namespace nana { namespace experimental { namespace filesystem
|
||||
|
||||
path path::extension() const
|
||||
{
|
||||
// todo: make more globlal
|
||||
#if defined(NANA_WINDOWS)
|
||||
auto pos = pathstr_.find_last_of(L"\\/.");
|
||||
auto SLorP=L"\\/.";
|
||||
auto P=L'.';
|
||||
#else
|
||||
auto pos = pathstr_.find_last_of("\\/.");
|
||||
auto SLorP="\\/.";
|
||||
auto P='.';
|
||||
#endif
|
||||
if ((pos == pathstr_.npos) || (pathstr_[pos] != '.'))
|
||||
return path();
|
||||
auto pos = pathstr_.find_last_of(SLorP);
|
||||
|
||||
|
||||
if (pos + 1 == pathstr_.size())
|
||||
if ( ( pos == pathstr_.npos)
|
||||
|| ( pathstr_[pos] != P )
|
||||
|| ( pos + 1 == pathstr_.size() ))
|
||||
return path();
|
||||
|
||||
return path(pathstr_.substr(pos));
|
||||
|
Loading…
x
Reference in New Issue
Block a user