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

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

#include "callback.h"

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

Public Member Functions

template<typename FUNCTOR , typename ARG1 , typename ARG2 >
 TwoBoundFunctorCallbackImpl (FUNCTOR functor, ARG1 arg1, ARG2 arg2)
 Construct from functor and two arguments. More...
 
virtual ~TwoBoundFunctorCallbackImpl ()
 
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)
 
R operator() (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7)
 
- Public Member Functions inherited from ns3::CallbackImpl< R, T1, T2, T3, T4, T5, T6, T7, 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...
 
T m_functor
 The functor. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::CallbackImpl< R, T1, T2, T3, T4, T5, T6, T7, 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 T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
class ns3::TwoBoundFunctorCallbackImpl< T, R, TX1, TX2, T1, T2, T3, T4, T5, T6, T7 >

CallbackImpl for functors with first two 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.

Definition at line 919 of file callback.h.

Constructor & Destructor Documentation

◆ TwoBoundFunctorCallbackImpl()

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

Construct from functor and two 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.
Parameters
[in]functorThe functor
[in]arg1The first argument to bind
[in]arg2The second argument to bind

Definition at line 935 of file callback.h.

◆ ~TwoBoundFunctorCallbackImpl()

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

Definition at line 938 of file callback.h.

Member Function Documentation

◆ IsEqual()

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

◆ operator()() [1/8]

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

◆ operator()() [2/8]

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

◆ operator()() [3/8]

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

◆ operator()() [4/8]

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

◆ operator()() [5/8]

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

◆ operator()() [6/8]

template<typename T , typename R , typename TX1 , typename TX2 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
R ns3::TwoBoundFunctorCallbackImpl< T, R, TX1, TX2, T1, T2, T3, T4, T5, T6, T7 >::operator() ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6 
)
inline
Parameters
[in]a1First argument
[in]a2Second argument
[in]a3Third argument
[in]a4Fourth argument
[in]a5Fifth argument
[in]a6Sixth argument
Returns
Callback value

Definition at line 1008 of file callback.h.

References ns3::TwoBoundFunctorCallbackImpl< T, R, TX1, TX2, T1, T2, T3, T4, T5, T6, T7 >::m_a1, ns3::TwoBoundFunctorCallbackImpl< T, R, TX1, TX2, T1, T2, T3, T4, T5, T6, T7 >::m_a2, and ns3::TwoBoundFunctorCallbackImpl< T, R, TX1, TX2, T1, T2, T3, T4, T5, T6, T7 >::m_functor.

◆ operator()() [7/8]

template<typename T , typename R , typename TX1 , typename TX2 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
R ns3::TwoBoundFunctorCallbackImpl< T, R, TX1, TX2, T1, T2, T3, T4, T5, T6, T7 >::operator() ( T1  a1,
T2  a2,
T3  a3,
T4  a4,
T5  a5,
T6  a6,
T7  a7 
)
inlinevirtual
Parameters
[in]a1First argument
[in]a2Second argument
[in]a3Third argument
[in]a4Fourth argument
[in]a5Fifth argument
[in]a6Sixth argument
[in]a7Seventh argument
Returns
Callback value

Implements ns3::CallbackImpl< R, T1, T2, T3, T4, T5, T6, T7, empty, empty >.

Definition at line 1022 of file callback.h.

References ns3::TwoBoundFunctorCallbackImpl< T, R, TX1, TX2, T1, T2, T3, T4, T5, T6, T7 >::m_a1, ns3::TwoBoundFunctorCallbackImpl< T, R, TX1, TX2, T1, T2, T3, T4, T5, T6, T7 >::m_a2, and ns3::TwoBoundFunctorCallbackImpl< T, R, TX1, TX2, T1, T2, T3, T4, T5, T6, T7 >::m_functor.

◆ operator()() [8/8]

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

Member Data Documentation

◆ m_a1

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

◆ m_a2

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

◆ m_functor

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

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