tesseract  4.1.1
_TessMemberResultCallback_2_2< del, R, T, P1, P2, A1, A2 > Class Template Reference

#include <tesscallback.h>

Inheritance diagram for _TessMemberResultCallback_2_2< del, R, T, P1, P2, A1, A2 >:
TessResultCallback2< R, A1, A2 >

Public Types

typedef TessResultCallback2< R, A1, A2 > base
 
using MemberSignature = R(T::*)(P1, P2, A1, A2)
 

Public Member Functions

 _TessMemberResultCallback_2_2 (T *object, MemberSignature member, P1 p1, P2 p2)
 
Run (A1 a1, A2 a2) override
 
- Public Member Functions inherited from TessResultCallback2< R, A1, A2 >
virtual ~TessResultCallback2 ()=default
 

Detailed Description

template<bool del, class R, class T, class P1, class P2, class A1, class A2>
class _TessMemberResultCallback_2_2< del, R, T, P1, P2, A1, A2 >

Definition at line 797 of file tesscallback.h.

Member Typedef Documentation

◆ base

template<bool del, class R, class T, class P1, class P2, class A1, class A2>
typedef TessResultCallback2<R, A1, A2> _TessMemberResultCallback_2_2< del, R, T, P1, P2, A1, A2 >::base

Definition at line 799 of file tesscallback.h.

◆ MemberSignature

template<bool del, class R, class T, class P1, class P2, class A1, class A2>
using _TessMemberResultCallback_2_2< del, R, T, P1, P2, A1, A2 >::MemberSignature = R (T::*)(P1, P2, A1, A2)

Definition at line 800 of file tesscallback.h.

Constructor & Destructor Documentation

◆ _TessMemberResultCallback_2_2()

template<bool del, class R, class T, class P1, class P2, class A1, class A2>
_TessMemberResultCallback_2_2< del, R, T, P1, P2, A1, A2 >::_TessMemberResultCallback_2_2 ( T *  object,
MemberSignature  member,
P1  p1,
P2  p2 
)
inline

Definition at line 809 of file tesscallback.h.

811  : object_(object), member_(member), p1_(p1), p2_(p2) {}

Member Function Documentation

◆ Run()

template<bool del, class R, class T, class P1, class P2, class A1, class A2>
R _TessMemberResultCallback_2_2< del, R, T, P1, P2, A1, A2 >::Run ( A1  a1,
A2  a2 
)
inlineoverridevirtual

Implements TessResultCallback2< R, A1, A2 >.

Definition at line 813 of file tesscallback.h.

813  {
814  if (!del) {
815  R result = (object_->*member_)(p1_, p2_, a1, a2);
816  return result;
817  }
818  R result = (object_->*member_)(p1_, p2_, a1, a2);
819  // zero out the pointer to ensure segfault if used again
820  member_ = nullptr;
821  delete this;
822  return result;
823  }

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