#include <boost/filesystem.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
namespace fs = boost::filesystem;
template<class Fun>
void traverse(const std::string &path, Fun fun)
{
fs::path dir(path);
if (fs::exists(dir))
{
fs::directory_iterator item_begin(dir);
fs::directory_iterator item_end;
for ( ;item_begin != item_end; item_begin ++ )
{
std::string str = (*item_begin).path().string();
if (fs::is_directory( *item_begin))
{
fun(str);
traverse( str, fun );
}
else
{
fun(str);
}
}
}
}
using namespace MSE::CBIR;
int main()
{
traverse("F:\\img\\", [](const std::string& str)
{
std::cout << str << std::endl;
});
}
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
namespace fs = boost::filesystem;
template<class Fun>
void traverse(const std::string &path, Fun fun)
{
fs::path dir(path);
if (fs::exists(dir))
{
fs::directory_iterator item_begin(dir);
fs::directory_iterator item_end;
for ( ;item_begin != item_end; item_begin ++ )
{
std::string str = (*item_begin).path().string();
if (fs::is_directory( *item_begin))
{
fun(str);
traverse( str, fun );
}
else
{
fun(str);
}
}
}
}
using namespace MSE::CBIR;
int main()
{
traverse("F:\\img\\", [](const std::string& str)
{
std::cout << str << std::endl;
});
}