Here is an example that takes advantage of some more boost functionality:

```c++
    boost::filesystem::path path = boost::filesystem::current_path();
    boost::filesystem::recursive_directory_iterator itr(path);
    while (itr != boost::filesystem::recursive_directory_iterator())
    {
        std::cout << itr->path().string() << std::endl;
        ++itr;
    }
```