proxygen
TestFilterOddDeleteOn< Owned > Class Template Reference
Inheritance diagram for TestFilterOddDeleteOn< Owned >:
TestFilter< Owned > proxygen::GenericFilter< TesterInterface, TesterInterface::Callback,&TesterInterface::setCallback, Owned > TesterInterface TesterInterface::Callback

Public Member Functions

 TestFilterOddDeleteOn (int *deletions)
 
 ~TestFilterOddDeleteOn () override
 
void onA () override
 
- Public Member Functions inherited from TestFilter< Owned >
 TestFilter ()
 
 TestFilter (bool calls, bool callbacks)
 
void setCallback (TesterInterface::Callback *cb) override
 
void doA () override
 
- Public Member Functions inherited from proxygen::GenericFilter< TesterInterface, TesterInterface::Callback,&TesterInterface::setCallback, Owned >
 GenericFilter (bool calls, bool callbacks)
 
 ~GenericFilter () override
 
void append (Filter *nextFilter)
 
- Public Member Functions inherited from TesterInterface
virtual ~TesterInterface ()
 
- Public Member Functions inherited from TesterInterface::Callback
virtual ~Callback ()
 

Public Attributes

unsigned times_ {0}
 
int *const deletions_
 
- Public Attributes inherited from TestFilter< Owned >
uint32_t do_ {0}
 
uint32_t on_ {0}
 
uint32_t id_ {idCounter_++}
 
- Public Attributes inherited from proxygen::GenericFilter< TesterInterface, TesterInterface::Callback,&TesterInterface::setCallback, Owned >
const bool kWantsCalls_
 
const bool kWantsCallbacks_
 

Additional Inherited Members

- Public Types inherited from proxygen::GenericFilter< TesterInterface, TesterInterface::Callback,&TesterInterface::setCallback, Owned >
using Filter = GenericFilter< TesterInterface, TesterInterface::Callback, set_callback, TakeOwnership, std::default_delete< TesterInterface > >
 
- Static Public Attributes inherited from TestFilter< Owned >
static uint32_t idCounter_ = 0
 
- Protected Member Functions inherited from proxygen::GenericFilter< TesterInterface, TesterInterface::Callback,&TesterInterface::setCallback, Owned >
void setCallbackInternal (TesterInterface::Callback *cb)
 
void drop ()
 
- Protected Attributes inherited from proxygen::GenericFilter< TesterInterface, TesterInterface::Callback,&TesterInterface::setCallback, Owned >
TesterInterfacecall_
 
TesterInterface::Callbackcallback_
 

Detailed Description

template<bool Owned = false>
class TestFilterOddDeleteOn< Owned >

Definition at line 466 of file GenericFilterTest.cpp.

Constructor & Destructor Documentation

template<bool Owned = false>
TestFilterOddDeleteOn< Owned >::TestFilterOddDeleteOn ( int *  deletions)
inlineexplicit

Definition at line 468 of file GenericFilterTest.cpp.

468  :
469  deletions_(CHECK_NOTNULL(deletions)) {}
template<bool Owned = false>
TestFilterOddDeleteOn< Owned >::~TestFilterOddDeleteOn ( )
inlineoverride

Definition at line 470 of file GenericFilterTest.cpp.

470 { ++*deletions_; }

Member Function Documentation

template<bool Owned = false>
void TestFilterOddDeleteOn< Owned >::onA ( )
inlineoverridevirtual

Reimplemented from TestFilter< Owned >.

Definition at line 472 of file GenericFilterTest.cpp.

References callback_.

472  {
473  auto callback = this->callback_;
474  if (this->id_ % 2) {
475  delete this;
476  } else if (times_++) {
477  delete this;
478  }
479  callback->onA();
480  };
virtual void onA()=0

Member Data Documentation

template<bool Owned = false>
int* const TestFilterOddDeleteOn< Owned >::deletions_

Definition at line 482 of file GenericFilterTest.cpp.

template<bool Owned = false>
unsigned TestFilterOddDeleteOn< Owned >::times_ {0}

Definition at line 481 of file GenericFilterTest.cpp.


The documentation for this class was generated from the following file: