Index: src/libchengine/TFileFiltersArray.h =================================================================== diff -u -N -r0d5b67ee96b435d63f7bf075dc8e28603793b187 -rfadd6c9c628de875716d96c3a497b5bc6c8dca8a --- src/libchengine/TFileFiltersArray.h (.../TFileFiltersArray.h) (revision 0d5b67ee96b435d63f7bf075dc8e28603793b187) +++ src/libchengine/TFileFiltersArray.h (.../TFileFiltersArray.h) (revision fadd6c9c628de875716d96c3a497b5bc6c8dca8a) @@ -21,19 +21,30 @@ #include "TFileFilter.h" #include "../libserializer/TRemovedObjects.h" +#include "../common/GenericTemplates/RandomAccessIterators.h" +#include "../common/GenericTemplates/RandomAccessContainerWrapper.h" namespace chengine { class TConfig; class TFileInfo; typedef std::shared_ptr TFileInfoPtr; - class LIBCHENGINE_API TFileFiltersArray + template class LIBCHENGINE_API RandomAccessIteratorWrapper; + class LIBCHENGINE_API TFileFiltersArrayIterator : public RandomAccessIteratorWrapper { - public: - TFileFiltersArray(); - ~TFileFiltersArray(); + }; + template class LIBCHENGINE_API RandomAccessConstIteratorWrapper; + class LIBCHENGINE_API TFileFiltersArrayConstIterator : public RandomAccessConstIteratorWrapper + { + }; + + template class LIBCHENGINE_API RandomAccessContainerWrapper; + + class LIBCHENGINE_API TFileFiltersArray : public RandomAccessContainerWrapper + { + public: bool Match(const TFileInfoPtr& spInfo) const; void StoreInConfig(TConfig& rConfig, PCTSTR pszNodeName) const; @@ -44,21 +55,7 @@ void InitColumns(const serializer::ISerializerContainerPtr& spContainer) const; - bool IsEmpty() const; - - void Add(const TFileFilter& rFilter); - bool SetAt(size_t stIndex, const TFileFilter& rNewFilter); - const TFileFilter* GetAt(size_t stIndex) const; - bool RemoveAt(size_t stIndex); - size_t GetSize() const; - - void Clear(); - private: -#pragma warning(push) -#pragma warning(disable: 4251) - std::vector m_vFilters; -#pragma warning(pop) mutable serializer::TRemovedObjects m_setRemovedObjects; }; }