mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-04 05:56:39 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef OPENMW_COMPONENTS_VFS_RECURSIVEDIRECTORYITERATOR_H
 | 
						|
#define OPENMW_COMPONENTS_VFS_RECURSIVEDIRECTORYITERATOR_H
 | 
						|
 | 
						|
#include <string>
 | 
						|
 | 
						|
#include "filemap.hpp"
 | 
						|
#include "pathutil.hpp"
 | 
						|
 | 
						|
namespace VFS
 | 
						|
{
 | 
						|
    class RecursiveDirectoryIterator
 | 
						|
    {
 | 
						|
    public:
 | 
						|
        RecursiveDirectoryIterator(FileMap::const_iterator it)
 | 
						|
            : mIt(it)
 | 
						|
        {
 | 
						|
        }
 | 
						|
 | 
						|
        const Path::Normalized& operator*() const { return mIt->first; }
 | 
						|
 | 
						|
        const Path::Normalized* operator->() const { return &mIt->first; }
 | 
						|
 | 
						|
        RecursiveDirectoryIterator& operator++()
 | 
						|
        {
 | 
						|
            ++mIt;
 | 
						|
            return *this;
 | 
						|
        }
 | 
						|
 | 
						|
        friend bool operator==(const RecursiveDirectoryIterator& lhs, const RecursiveDirectoryIterator& rhs) = default;
 | 
						|
 | 
						|
    private:
 | 
						|
        FileMap::const_iterator mIt;
 | 
						|
    };
 | 
						|
 | 
						|
    class RecursiveDirectoryRange
 | 
						|
    {
 | 
						|
    public:
 | 
						|
        RecursiveDirectoryRange(RecursiveDirectoryIterator first, RecursiveDirectoryIterator last)
 | 
						|
            : mBegin(first)
 | 
						|
            , mEnd(last)
 | 
						|
        {
 | 
						|
        }
 | 
						|
 | 
						|
        RecursiveDirectoryIterator begin() const { return mBegin; }
 | 
						|
 | 
						|
        RecursiveDirectoryIterator end() const { return mEnd; }
 | 
						|
 | 
						|
    private:
 | 
						|
        RecursiveDirectoryIterator mBegin;
 | 
						|
        RecursiveDirectoryIterator mEnd;
 | 
						|
    };
 | 
						|
}
 | 
						|
 | 
						|
#endif
 |