Index: src/libchcore/TPathContainer.h =================================================================== diff -u -N -r0d5b67ee96b435d63f7bf075dc8e28603793b187 -rfadd6c9c628de875716d96c3a497b5bc6c8dca8a --- src/libchcore/TPathContainer.h (.../TPathContainer.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) +++ src/libchcore/TPathContainer.h (.../TPathContainer.h) (revision fadd6c9c628de875716d96c3a497b5bc6c8dca8a) @@ -20,34 +20,24 @@ #define __TPATHCONTAINER_H__ #include "TPath.h" +#include "../common/GenericTemplates/RandomAccessIterators.h" +#include "../common/GenericTemplates/RandomAccessContainerWrapper.h" namespace chcore { - class LIBCHCORE_API TPathContainer + template class LIBCHCORE_API RandomAccessIteratorWrapper; + class LIBCHCORE_API TPathArrayIterator : public RandomAccessIteratorWrapper { - public: - TPathContainer(); - ~TPathContainer(); + }; - void Add(const TSmartPath& spPath); - void Append(const TPathContainer& vPaths); + template class LIBCHCORE_API RandomAccessConstIteratorWrapper; + class LIBCHCORE_API TPathArrayConstIterator : public RandomAccessConstIteratorWrapper + { + }; - const TSmartPath& GetAt(size_t stIndex) const; - TSmartPath& GetAt(size_t stIndex); - - void SetAt(size_t stIndex, const TSmartPath& spPath); - - void DeleteAt(size_t stIndex); - void Clear(); - - size_t GetCount() const; - bool IsEmpty() const; - - private: -#pragma warning(push) -#pragma warning(disable: 4251) - std::vector m_vPaths; -#pragma warning(pop) + template class LIBCHCORE_API RandomAccessContainerWrapper; + class LIBCHCORE_API TPathContainer : public RandomAccessContainerWrapper + { }; }