Blame src/cppunit/ProtectorChain.h

Packit Service e31359
#ifndef CPPUNIT_PROTECTORCHAIN_H
Packit Service e31359
#define CPPUNIT_PROTECTORCHAIN_H
Packit Service e31359
Packit Service e31359
#include <cppunit/Protector.h>
Packit Service e31359
#include <deque>
Packit Service e31359
Packit Service e31359
#if CPPUNIT_NEED_DLL_DECL
Packit Service e31359
#pragma warning( push )
Packit Service e31359
#pragma warning( disable: 4251 )  // X needs to have dll-interface to be used by clients of class Z
Packit Service e31359
#endif
Packit Service e31359
Packit Service e31359
Packit Service e31359
CPPUNIT_NS_BEGIN
Packit Service e31359
Packit Service e31359
/*! \brief Protector chain (Implementation).
Packit Service e31359
 * Implementation detail.
Packit Service e31359
 * \internal Protector that protect a Functor using a chain of nested Protector.
Packit Service e31359
 */
Packit Service e31359
class CPPUNIT_API ProtectorChain : public Protector
Packit Service e31359
{
Packit Service e31359
public:
Packit Service e31359
  ProtectorChain();
Packit Service e31359
Packit Service e31359
  ~ProtectorChain();
Packit Service e31359
Packit Service e31359
  void push( Protector *protector );
Packit Service e31359
Packit Service e31359
  void pop();
Packit Service e31359
Packit Service e31359
  int count() const;
Packit Service e31359
Packit Service e31359
  bool protect( const Functor &functor,
Packit Service e31359
                const ProtectorContext &context );
Packit Service e31359
Packit Service e31359
private:
Packit Service e31359
  class ProtectFunctor;
Packit Service e31359
Packit Service e31359
private:
Packit Service e31359
  typedef std::deque<Protector *> Protectors;
Packit Service e31359
  Protectors m_protectors;
Packit Service e31359
Packit Service e31359
  typedef std::deque<Functor *> Functors;
Packit Service e31359
};
Packit Service e31359
Packit Service e31359
Packit Service e31359
CPPUNIT_NS_END
Packit Service e31359
Packit Service e31359
#if CPPUNIT_NEED_DLL_DECL
Packit Service e31359
#pragma warning( pop )
Packit Service e31359
#endif
Packit Service e31359
Packit Service e31359
#endif // CPPUNIT_PROTECTORCHAIN_H
Packit Service e31359