class Poco::SiblingsFirstTraverse

#include <DirectoryIteratorStrategy.h>

class SiblingsFirstTraverse: public Poco::TraverseBase
{
public:
    // construction

    SiblingsFirstTraverse(
        DepthFunPtr depthDeterminer,
        UInt16 maxDepth = D_INFINITE
        );

    // methods

    const std::string
    next(
        Stack* itStack,
        bool* isFinished
        );
};

Inherited Members

public:
    // typedefs

    typedef std::stack<DirectoryIterator> Stack;
    typedef std::pointer_to_unary_function<const Stack&, UInt16> DepthFunPtr;

    // enums

    enum
    {
        D_INFINITE = 0,
    };

protected:
    // fields

    DepthFunPtr _depthDeterminer;
    UInt16 _maxDepth;
    DirectoryIterator _itEnd;

    // methods

    bool
    isFiniteDepth();

    bool
    isDirectory(Poco::File& file);