NX Open C++ Reference Guide
Public Member Functions | List of all members
NXOpen::Callback4List< Result, Arg1, Arg2, Arg3, Arg4 > Class Template Reference

Template class for callbacks with four input arguments. More...

Inheritance diagram for NXOpen::Callback4List< Result, Arg1, Arg2, Arg3, Arg4 >:
NXOpen::Callback4< Result, Arg1, Arg2, Arg3, Arg4 > NXOpen::BaseCallback

Public Member Functions

void Add (const BaseClass &fn)
 Function to add callback function to list of callback functions. More...
 
 Callback4List ()
 Constructor. More...
 
virtual BaseCallbackClone () const
 Function interface for clone operation. More...
 
virtual bool Equals (const BaseCallback &other) const
 Function interface for equality operation. More...
 
virtual Result operator() (Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4) const
 Function call operator for invoking callback functions in list. More...
 
bool Remove (const BaseClass &fn)
 Function to remove the callback function from the list of callback functions. More...
 
virtual ~Callback4List ()
 Callback4List destructor. More...
 

Additional Inherited Members

- Public Types inherited from NXOpen::Callback4< Result, Arg1, Arg2, Arg3, Arg4 >
typedef Arg1 Arg1Type
 Type of first input argument of callback function. More...
 
typedef Arg2 Arg2Type
 Type of second input argument of callback function. More...
 
typedef Arg3 Arg3Type
 Type of third input argument of callback function. More...
 
typedef Arg4 Arg4Type
 Type of fourth input argument of callback function. More...
 
typedef Result ResultType
 Return type of callback function. More...
 

Detailed Description

template<class Result, class Arg1, class Arg2, class Arg3, class Arg4>
class NXOpen::Callback4List< Result, Arg1, Arg2, Arg3, Arg4 >

Template class for callbacks with four input arguments.

This template class manages a list of callback functions. The return type of the callback function is the template type Result.

Constructor & Destructor Documentation

template<class Result , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
NXOpen::Callback4List< Result, Arg1, Arg2, Arg3, Arg4 >::Callback4List ( )

Constructor.

template<class Result , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
virtual NXOpen::Callback4List< Result, Arg1, Arg2, Arg3, Arg4 >::~Callback4List ( )
virtual

Callback4List destructor.

Deletes all the callbacks in the list of callbacks.

Member Function Documentation

template<class Result , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
void NXOpen::Callback4List< Result, Arg1, Arg2, Arg3, Arg4 >::Add ( const BaseClass fn)

Function to add callback function to list of callback functions.

template<class Result , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
virtual BaseCallback* NXOpen::Callback4List< Result, Arg1, Arg2, Arg3, Arg4 >::Clone ( ) const
virtual

Function interface for clone operation.

Derived classes will define this function to implement a deep copy operation.

Implements NXOpen::BaseCallback.

template<class Result , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
virtual bool NXOpen::Callback4List< Result, Arg1, Arg2, Arg3, Arg4 >::Equals ( const BaseCallback other) const
virtual

Function interface for equality operation.

Implements NXOpen::BaseCallback.

template<class Result , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
virtual Result NXOpen::Callback4List< Result, Arg1, Arg2, Arg3, Arg4 >::operator() ( Arg1  a1,
Arg2  a2,
Arg3  a3,
Arg4  a4 
) const
virtual

Function call operator for invoking callback functions in list.

Callbacks are invoked in the order they were added to the list.

Implements NXOpen::Callback4< Result, Arg1, Arg2, Arg3, Arg4 >.

template<class Result , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
bool NXOpen::Callback4List< Result, Arg1, Arg2, Arg3, Arg4 >::Remove ( const BaseClass fn)

Function to remove the callback function from the list of callback functions.

Uses the Equals method on the callback function to find the matching callback function in the list. Finds the first matching callback function in the list and removes it.


The documentation for this class was generated from the following file:
Copyright 2017 Siemens Product Lifecycle Management Software Inc. All Rights Reserved.