From 50e741126a0840179b86cf2302905e30dad6f75f Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sat, 19 Sep 2009 10:46:32 +0200 Subject: Add path string to the invalid_path exception --- cutl/fs/path.hxx | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) (limited to 'cutl/fs/path.hxx') diff --git a/cutl/fs/path.hxx b/cutl/fs/path.hxx index f310d55..139a3cc 100644 --- a/cutl/fs/path.hxx +++ b/cutl/fs/path.hxx @@ -15,17 +15,44 @@ namespace cutl { namespace fs { - struct invalid_path: exception + template + class basic_path; + + template + class invalid_basic_path; + + typedef basic_path path; + typedef invalid_basic_path invalid_path; + + typedef basic_path wpath; + typedef invalid_basic_path invalid_wpath; + + // + // + struct invalid_path_base: exception { virtual char const* what () const throw (); }; template - class basic_path; + struct invalid_basic_path: invalid_path_base + { + typedef std::basic_string string_type; - typedef basic_path path; - typedef basic_path wpath; + invalid_basic_path (C const* p): path_ (p) {} + invalid_basic_path (string_type const& p): path_ (p) {} + ~invalid_basic_path () throw () {} + + string_type const& + path () const + { + return path_; + } + + private: + string_type path_; + }; template class basic_path -- cgit v1.1