mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-14 15:05:35 +02:00
RecursiveDirectoryIterator and ListMap
1) Recursive and SortedDirectoryIterator - added to VS projects - fixed some style/formatting - fxed windows tests 2) Added ListMap Poco::ListMap is a std::mulitimap-like container that preserves insertion order (needed to prevent Net message headers)
This commit is contained in:
@@ -43,37 +43,39 @@
|
||||
#include "Poco/File.h"
|
||||
#include "Poco/Path.h"
|
||||
#include "Poco/RecursiveDirectoryIteratorImpl.h"
|
||||
#include "Poco/RecursiveDirectoryIteratorStrategies.h"
|
||||
#include "Poco/DirectoryIteratorStrategy.h"
|
||||
|
||||
|
||||
namespace Poco
|
||||
{
|
||||
namespace Poco {
|
||||
|
||||
|
||||
class DirectoryIterator;
|
||||
|
||||
|
||||
template<class TTravStr>
|
||||
class RecursiveDirectoryIteratorImpl;
|
||||
|
||||
|
||||
template<class TTravStr = ChildrenFirstTraverse>
|
||||
class RecursiveDirectoryIterator
|
||||
/// The RecursiveDirectoryIterator class is used to enumerate
|
||||
/// all files in a directory and its subdirectories.
|
||||
///
|
||||
/// RecursiveDirectoryIterator has some limitations:
|
||||
/// * only forward iteration (++) is supported
|
||||
/// * an iterator copied from another one will always
|
||||
/// point to the same file as the original iterator,
|
||||
/// even is the original iterator has been advanced
|
||||
/// (all copies of an iterator share their state with
|
||||
/// the original iterator)
|
||||
/// * only forward iteration (++) is supported
|
||||
/// * an iterator copied from another one will always
|
||||
/// point to the same file as the original iterator,
|
||||
/// even is the original iterator has been advanced
|
||||
/// (all copies of an iterator share their state with
|
||||
/// the original iterator)
|
||||
///
|
||||
/// The class can follow different traversal strategies:
|
||||
/// * depth-first strategy;
|
||||
/// * siblings-first strategy.
|
||||
/// * depth-first strategy;
|
||||
/// * siblings-first strategy.
|
||||
/// The stategies are set by template parameter.
|
||||
/// There are two corresponding typedefs:
|
||||
/// * SimpleRecursiveDirectoryIterator;
|
||||
/// * SiblingsFirstRecursiveDirectoryIterator.
|
||||
/// * SimpleRecursiveDirectoryIterator;
|
||||
/// * SiblingsFirstRecursiveDirectoryIterator.
|
||||
///
|
||||
/// The depth of traversal can be limited by constructor
|
||||
/// parameter maxDepth (which sets the infinite depth by default).
|
||||
@@ -260,15 +262,6 @@ inline bool operator !=(const RecursiveDirectoryIterator<T1>& a, const Recursive
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// exported instances
|
||||
//
|
||||
template class Foundation_API
|
||||
RecursiveDirectoryIterator<ChildrenFirstTraverse> ;
|
||||
template class Foundation_API
|
||||
RecursiveDirectoryIterator<SiblingsFirstTraverse> ;
|
||||
|
||||
|
||||
//
|
||||
// typedefs
|
||||
//
|
||||
|
Reference in New Issue
Block a user