A Discrete-Event Network Simulator
API
ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 > Class Template Reference

CallbackImpl for functors with first three arguments bound at construction. More...

#include "callback.h"

+ Inheritance diagram for ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >:
+ Collaboration diagram for ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >:

Public Member Functions

template<typename FUNCTOR , typename ARG1 , typename ARG2 , typename ARG3 >
 ThreeBoundFunctorCallbackImpl (FUNCTOR functor, ARG1 arg1, ARG2 arg2, ARG3 arg3)
 Construct from functor and three arguments. More...
 
virtual ~ThreeBoundFunctorCallbackImpl ()
 
virtual bool IsEqual (Ptr< const CallbackImplBase > other) const
 Equality test. More...
 
R operator() (void)
 Functor with varying numbers of arguments. More...
 
R operator() (T1 a1)
 
R operator() (T1 a1, T2 a2)
 
R operator() (T1 a1, T2 a2, T3 a3)
 
R operator() (T1 a1, T2 a2, T3 a3, T4 a4)
 
R operator() (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
 
R operator() (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 
- Public Member Functions inherited from ns3::CallbackImpl< R, T1, T2, T3, T4, T5, T6, empty, empty, empty >
virtual ~CallbackImpl ()
 
virtual std::string GetTypeid (void) const
 Get the name of this object type. More...
 
- Public Member Functions inherited from ns3::CallbackImplBase
virtual ~CallbackImplBase ()
 Virtual destructor. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< CallbackImplBase >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCount & operator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

Private Attributes

TypeTraits< TX1 >::ReferencedType m_a1
 first bound argument More...
 
TypeTraits< TX2 >::ReferencedType m_a2
 second bound argument More...
 
TypeTraits< TX3 >::ReferencedType m_a3
 third bound argument More...
 
T m_functor
 The functor. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::CallbackImpl< R, T1, T2, T3, T4, T5, T6, empty, empty, empty >
static std::string DoGetTypeid (void)
 Get the name of this object type. More...
 
- Static Protected Member Functions inherited from ns3::CallbackImplBase
static std::string Demangle (const std::string &mangled)
 
template<typename T >
static std::string GetCppTypeid (void)
 Helper to get the C++ typeid as a string. More...
 

Detailed Description

template<typename T, typename R, typename TX1, typename TX2, typename TX3, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
class ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >

CallbackImpl for functors with first three arguments bound at construction.

Template Parameters
T[explicit] Type of the functor.
TX1[explicit] Type of the first bound argument.
TX2[explicit] Type of the second bound argument.
TX3[explicit] Type of the third bound argument.

Definition at line 1064 of file callback.h.

Constructor & Destructor Documentation

◆ ThreeBoundFunctorCallbackImpl()

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
template<typename FUNCTOR , typename ARG1 , typename ARG2 , typename ARG3 >
ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::ThreeBoundFunctorCallbackImpl ( FUNCTOR  functor,
ARG1  arg1,
ARG2  arg2,
ARG3  arg3 
)
inline

Construct from functor and three arguments.

Template Parameters
FUNCTOR[deduced] The actual type of the functor. This must be convertible to T.
ARG1[deduced] The actual type of the first bound argument. This must be convertible to type TX1.
ARG2[deduced] The actual type of the second bound argument. This must be convertible to type TX2.
ARG3[deduced] The actual type of the third bound argument. This must be convertible to type TX3.
Parameters
[in]functorThe functor
[in]arg1The first argument to bind
[in]arg2The second argument to bind
[in]arg3The third argument to bind

Definition at line 1083 of file callback.h.

◆ ~ThreeBoundFunctorCallbackImpl()

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
virtual ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::~ThreeBoundFunctorCallbackImpl ( )
inlinevirtual

Definition at line 1086 of file callback.h.

Member Function Documentation

◆ IsEqual()

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
virtual bool ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::IsEqual ( Ptr< const CallbackImplBase >  other) const
inlinevirtual

◆ operator()() [1/7]

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
R ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::operator() ( T1  a1)
inline

◆ operator()() [2/7]

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
R ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::operator() ( T1  a1,
T2  a2 
)
inline

◆ operator()() [3/7]

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
R ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::operator() ( T1  a1,
T2  a2,
T3  a3 
)
inline

◆ operator()() [4/7]

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
R ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::operator() ( T1  a1,
T2  a2,
T3  a3,
T4  a4 
)
inline

◆ operator()() [5/7]

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
R ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::operator() ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5 
)
inline

◆ operator()() [6/7]

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
R ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::operator() ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
)
inlinevirtual

◆ operator()() [7/7]

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
R ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::operator() ( void  )
inline

Member Data Documentation

◆ m_a1

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
TypeTraits<TX1>::ReferencedType ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::m_a1
private

◆ m_a2

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
TypeTraits<TX2>::ReferencedType ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::m_a2
private

◆ m_a3

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
TypeTraits<TX3>::ReferencedType ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::m_a3
private

◆ m_functor

template<typename T , typename R , typename TX1 , typename TX2 , typename TX3 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
T ns3::ThreeBoundFunctorCallbackImpl< T, R, TX1, TX2, TX3, T1, T2, T3, T4, T5, T6 >::m_functor
private

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