-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Introduce boost::filesystem and its dependency cpp.
- Loading branch information
Showing
10 changed files
with
3,909 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
// codecvt_error_category implementation file ----------------------------------------// | ||
|
||
// Copyright Beman Dawes 2009 | ||
|
||
// Distributed under the Boost Software License, Version 1.0. | ||
// See http://www.boost.org/LICENSE_1_0.txt) | ||
|
||
// Library home page at http://www.boost.org/libs/filesystem | ||
|
||
//--------------------------------------------------------------------------------------// | ||
|
||
#include <boost/config/warning_disable.hpp> | ||
|
||
// define BOOST_FILESYSTEM_SOURCE so that <boost/filesystem/config.hpp> knows | ||
// the library is being built (possibly exporting rather than importing code) | ||
#define BOOST_FILESYSTEM_SOURCE | ||
|
||
#ifndef BOOST_SYSTEM_NO_DEPRECATED | ||
# define BOOST_SYSTEM_NO_DEPRECATED | ||
#endif | ||
|
||
#include <boost/filesystem/config.hpp> | ||
#include <boost/filesystem/path_traits.hpp> | ||
#include <boost/system/error_code.hpp> | ||
#include <locale> | ||
#include <vector> | ||
#include <cstdlib> | ||
#include <cassert> | ||
|
||
//--------------------------------------------------------------------------------------// | ||
|
||
namespace | ||
{ | ||
class codecvt_error_cat : public boost::system::error_category | ||
{ | ||
public: | ||
codecvt_error_cat(){} | ||
const char* name() const BOOST_SYSTEM_NOEXCEPT; | ||
std::string message(int ev) const; | ||
}; | ||
|
||
const char* codecvt_error_cat::name() const BOOST_SYSTEM_NOEXCEPT | ||
{ | ||
return "codecvt"; | ||
} | ||
|
||
std::string codecvt_error_cat::message(int ev) const | ||
{ | ||
std::string str; | ||
switch (ev) | ||
{ | ||
case std::codecvt_base::ok: | ||
str = "ok"; | ||
break; | ||
case std::codecvt_base::partial: | ||
str = "partial"; | ||
break; | ||
case std::codecvt_base::error: | ||
str = "error"; | ||
break; | ||
case std::codecvt_base::noconv: | ||
str = "noconv"; | ||
break; | ||
default: | ||
str = "unknown error"; | ||
} | ||
return str; | ||
} | ||
|
||
} // unnamed namespace | ||
|
||
namespace boost | ||
{ | ||
namespace filesystem | ||
{ | ||
|
||
BOOST_FILESYSTEM_DECL const boost::system::error_category& codecvt_error_category() | ||
{ | ||
static const codecvt_error_cat codecvt_error_cat_const; | ||
return codecvt_error_cat_const; | ||
} | ||
|
||
} // namespace filesystem | ||
} // namespace boost |
Oops, something went wrong.