bool create_directories(const path & p) { if(p.empty()) { return true; } path parent = p.parent(); if(!exists(parent)) { if(!create_directories(parent)) { return false; } } return create_directory(p); }