diff options
Diffstat (limited to 'butl/path.ixx')
-rw-r--r-- | butl/path.ixx | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/butl/path.ixx b/butl/path.ixx index b1212f4..9705b66 100644 --- a/butl/path.ixx +++ b/butl/path.ixx @@ -304,11 +304,22 @@ namespace butl } template <typename C, typename K> - inline const C* basic_path<C, K>:: + inline typename basic_path<C, K>::string_type basic_path<C, K>:: extension () const { const string_type& s (this->path_); size_type p (traits::find_extension (s)); + return p != string_type::npos + ? string_type (s.c_str () + p + 1) + : string_type (); + } + + template <typename C, typename K> + inline const C* basic_path<C, K>:: + extension_cstring () const + { + const string_type& s (this->path_); + size_type p (traits::find_extension (s)); return p != string_type::npos ? s.c_str () + p + 1 : nullptr; } |