Dynamically‐allocated container for one slot, containing a function object that can be called by a signaler. Owned by a shared pointer in a skip list container in the Signaler_Node. Also referred to by weak pointers from SignalerConnection objects.

Synopsis

Declared in <bdlmt_signaler.h>

template<class t_PROT>
class Signaler_SlotNode
    : public Signaler_SlotNode_Base

Base Classes

Name

Description

Signaler_SlotNode_Base

Provide a non‐template protocol base class for Signaler_SlotNode so SignalerConnection objects, which are not templated, can refer to and manipulate Signaler_SlotNode objects.

Type Aliases

Name

Description

SlotMapKey

Defines a "key" used to index slots in an associative collection. The first element of the pair is the slot call group; the second is the slot ID.

Member Functions

Name

Description

Signaler_SlotNode [constructor]

Create a Signaler_SlotNode object associated with signaler node at the specified signalerNodePtr using the specified slotMapKey and with the specified slot callable object. Specify an allocator used to supply memory.

disconnect [virtual]

Disconnect this slot and return without waiting. If the slot was already disconnected, this function has no effect. Throws nothing. Note that it is guaranteed that this slot will not be called by a signal on the same signaler that begins after this function completes.

disconnectAndWait [virtual]

Disconnect this slot and block the calling thread pending the completion of signals being emitted on the signaler by any other threads. If the slot was already disconnected, this function has no effect on the slot. Throws nothing. The behavior is undefined if this function is called from a slot on the same signaler. Note that it is guaranteed that this slot will not be called by a signal on the same signaler that begins after this function completes, whether wait is true or not.

invoke

Invoke the stored callback c, as if by c(args...), where args... are the specified arguments arg1, arg2, arg3, etc., except that the actual number of arguments passed to c is equal to the number of arguments for t_PROT. If this slot is disconnected, this function has no effect.

isConnected [virtual]

Return true if this slot is connected to its associated signaler, and false otherwise.

notifyDisconnected

Notify this slot that is was disconnected from its associated signaler. Throws nothing. After this function completes, isConnected() returns false.

Created with MrDocs