Add -> for directory_iterator

This commit is contained in:
Eric Frias 2014-06-20 10:38:21 -04:00
parent accb6fddcb
commit 2b3728af37
2 changed files with 20 additions and 0 deletions

View file

@ -85,6 +85,24 @@ namespace fc {
#endif
};
namespace detail
{
class path_wrapper
{
public:
path_wrapper(path p) :
_path(p)
{
}
const path* operator->() const
{
return &_path;
}
private:
path _path;
};
}
class directory_iterator {
public:
directory_iterator( const fc::path& p );
@ -92,6 +110,7 @@ namespace fc {
~directory_iterator();
fc::path operator*()const;
detail::path_wrapper operator->() const;
directory_iterator& operator++(int);
directory_iterator& operator++();

View file

@ -158,6 +158,7 @@ namespace fc {
directory_iterator::~directory_iterator(){}
fc::path directory_iterator::operator*()const { return boost::filesystem::path(*(*_p)); }
detail::path_wrapper directory_iterator::operator->() const { return detail::path_wrapper(boost::filesystem::path(*(*_p))); }
directory_iterator& directory_iterator::operator++(int) { (*_p)++; return *this; }
directory_iterator& directory_iterator::operator++() { (*_p)++; return *this; }