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:
aleks-f
2013-03-10 12:25:47 -05:00
46 changed files with 1120 additions and 130 deletions

View File

@@ -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
//