I know I can do namespace FILE { using boost::filesystem::rename };
which I will do if there's no other solution, but wondering if I can get it inside the class so I can be DRY. I want to create a class called FILE and have no need for namespace FILE.
// class-qualified name is required
using boost::filesystem::rename
// definition not found
void(*rename)(const path&, const path&) = boost::filesystem::rename;
// cannot determine which overloaded instance
function rename = std::mem_fn<void(const path&, const path&)>(boost::filesystem::rename);
// not an alias, creates a new function
function<void(const path&, const path&)> rename = [](const path& old_p, const path& new_p) { boost::filesystem::rename(old_p, new_p); };
// all sorts of errors
auto rename = std::mem_fn(static_cast<void()(const path&, const path&)>(&boost::filesystem::rename));
// nope!
void constexpr rename = boost::filesystem::rename
I am trying to do this:
class FILE {
public:
// Would like to alias boost::filesystem::rename as rename here
};
What is the correct syntax?