diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-03-07 15:22:51 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2018-03-07 15:22:51 +0200 |
commit | 1c36adab776a900adc7325f412b1c8dd61b1a346 (patch) | |
tree | 0227b8c5697d24a862aedd59b9bfe28cc84e91b4 /bdep/utility.hxx | |
parent | 2e2c3a81b47c650334f5767ddb4ebb2746ef98f1 (diff) |
Setup compilation, command line handling
Diffstat (limited to 'bdep/utility.hxx')
-rw-r--r-- | bdep/utility.hxx | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/bdep/utility.hxx b/bdep/utility.hxx new file mode 100644 index 0000000..48f168f --- /dev/null +++ b/bdep/utility.hxx @@ -0,0 +1,79 @@ +// file : bdep/utility.hxx -*- C++ -*- +// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef BDEP_UTILITY_HXX +#define BDEP_UTILITY_HXX + +#include <memory> // make_shared() +#include <string> // to_string() +#include <utility> // move(), forward(), declval(), make_pair() +#include <cassert> // assert() +#include <iterator> // make_move_iterator() + +#include <libbutl/ft/lang.hxx> + +#include <libbutl/utility.mxx> // casecmp(), reverse_iterate(), etc + +#include <libbutl/filesystem.mxx> + +#include <bdep/types.hxx> +#include <bdep/version.hxx> + +namespace bdep +{ + using std::move; + using std::forward; + using std::declval; + + using std::make_pair; + using std::make_shared; + using std::make_move_iterator; + using std::to_string; + + // <libbutl/utility.mxx> + // + using butl::casecmp; + using butl::reverse_iterate; + + using butl::exception_guard; + using butl::make_exception_guard; + + // <libbutl/filesystem.mxx> + // + using butl::auto_rmfile; + using butl::auto_rmdir; + + // Empty string and path. + // + extern const string empty_string; + extern const path empty_path; + extern const dir_path empty_dir_path; + + // Filesystem. + // + bool + exists (const path&, bool ignore_error = false); + + bool + exists (const dir_path&, bool ignore_error = false); + + bool + empty (const dir_path&); + + void + mk (const dir_path&); + + void + mk_p (const dir_path&); + + void + rm (const path&, uint16_t verbosity = 3); + + // Directory extracted from argv[0] (i.e., this process' recall directory) + // or empty if there is none. Can be used as a search fallback. + // + extern dir_path exec_dir; +} + +#endif // BDEP_UTILITY_HXX |