1 #ifndef CPPUNIT_PROTECTORCHAIN_H
2 #define CPPUNIT_PROTECTORCHAIN_H
4 #include <cppunit/Protector.h>
5 #include <cppunit/portability/CppUnitDeque.h>
7 #if CPPUNIT_NEED_DLL_DECL
8 #pragma warning( push )
9 #pragma warning( disable: 4251 ) // X needs to have dll-interface to be used by clients of class Z
15 /*! \brief Protector chain (Implementation).
16 * Implementation detail.
17 * \internal Protector that protect a Functor using a chain of nested Protector.
19 class CPPUNIT_API ProtectorChain : public Protector
24 void push( Protector *protector );
30 bool protect( const Functor &functor,
31 const ProtectorContext &context );
37 typedef CppUnitDeque<Protector *> Protectors;
38 Protectors m_protectors;
40 typedef CppUnitDeque<Functor *> Functors;
46 #if CPPUNIT_NEED_DLL_DECL
47 #pragma warning( pop )
50 #endif // CPPUNIT_PROTECTORCHAIN_H