tesseract  4.0.0-1-g2a2b
_TessMemberResultCallback_3_0< del, R, T, P1, P2, P3 > Class Template Reference

#include <tesscallback.h>

Inheritance diagram for _TessMemberResultCallback_3_0< del, R, T, P1, P2, P3 >:
TessResultCallback< R >

Public Types

typedef TessResultCallback< R > base
 
typedef R(T::* MemberSignature) (P1, P2, P3)
 

Public Member Functions

 _TessMemberResultCallback_3_0 (T *object, MemberSignature member, P1 p1, P2 p2, P3 p3)
 
virtual R Run ()
 
- Public Member Functions inherited from TessResultCallback< R >
virtual ~TessResultCallback ()
 

Detailed Description

template<bool del, class R, class T, class P1, class P2, class P3>
class _TessMemberResultCallback_3_0< del, R, T, P1, P2, P3 >

Definition at line 804 of file tesscallback.h.

Member Typedef Documentation

◆ base

template<bool del, class R, class T, class P1, class P2, class P3>
typedef TessResultCallback<R> _TessMemberResultCallback_3_0< del, R, T, P1, P2, P3 >::base

Definition at line 806 of file tesscallback.h.

◆ MemberSignature

template<bool del, class R, class T, class P1, class P2, class P3>
typedef R(T::* _TessMemberResultCallback_3_0< del, R, T, P1, P2, P3 >::MemberSignature) (P1, P2, P3)

Definition at line 807 of file tesscallback.h.

Constructor & Destructor Documentation

◆ _TessMemberResultCallback_3_0()

template<bool del, class R, class T, class P1, class P2, class P3>
_TessMemberResultCallback_3_0< del, R, T, P1, P2, P3 >::_TessMemberResultCallback_3_0 ( T *  object,
MemberSignature  member,
P1  p1,
P2  p2,
P3  p3 
)
inline

Definition at line 817 of file tesscallback.h.

818  : object_(object),
819  member_(member), p1_(p1), p2_(p2), p3_(p3) { }

Member Function Documentation

◆ Run()

template<bool del, class R, class T, class P1, class P2, class P3>
virtual R _TessMemberResultCallback_3_0< del, R, T, P1, P2, P3 >::Run ( )
inlinevirtual

Implements TessResultCallback< R >.

Definition at line 821 of file tesscallback.h.

821  {
822  if (!del) {
823  R result = (object_->*member_)(p1_,p2_,p3_);
824  return result;
825  } else {
826  R result = (object_->*member_)(p1_,p2_,p3_);
827  // zero out the pointer to ensure segfault if used again
828  member_ = nullptr;
829  delete this;
830  return result;
831  }
832  }

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