class Poco::TraverseBase

Overview

#include <DirectoryIteratorStrategy.h>

class TraverseBase
{
public:
    // typedefs

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

    // enums

    enum
    {
        D_INFINITE = 0,
    };

    // construction

    TraverseBase(
        DepthFunPtr depthDeterminer,
        UInt16 maxDepth = D_INFINITE
        );

protected:
    // fields

    DepthFunPtr _depthDeterminer;
    UInt16 _maxDepth;
    DirectoryIterator _itEnd;

    // methods

    bool
    isFiniteDepth();

    bool
    isDirectory(Poco::File& file);
};

// direct descendants

class ChildrenFirstTraverse;
class SiblingsFirstTraverse;

Detailed Documentation

Enum Values

D_INFINITE

Special value for infinite traverse depth.