---
name: "ACE_Timer_Wheel_Iterator_T"
section: "3"
platform: "linux"
package: "libace-doc"
version: "5.0.7-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/ACE_Timer_Wheel_Iterator_T"
---

# ACE\_Timer\_Wheel\_Iterator\_T(3)

Iterates over an ACE\_Timer\_Wheel.

## NAME

ACE\_Timer\_Wheel\_Iterator\_T -  Iterates over an ACE\_Timer\_Wheel.

## SYNOPSIS

```
#include <ace/Timer_Wheel.h>
template<class TYPE, class FUNCTOR, class ACE_LOCK>
class ACE_Timer_Wheel_Iterator_T :
  public ACE_Timer_Queue_Iterator_T <TYPE, FUNCTOR, ACE_LOCK>
{
  public:
    ACE_Timer_Wheel_Iterator_T (
        ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK> &
        );
    ~ACE_Timer_Wheel_Iterator_T (void);
    virtual void first (void);
    virtual void next (void);
    virtual int isdone (void);
    virtual ACE_Timer_Node_T<TYPE> *item (void);
  protected:
    ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK> &timer_wheel_;
    size_t pos_;
    ACE_Timer_Node_T<TYPE> *list_item_;
};
```

## DESCRIPTION

This is a generic iterator that can be used to visit every node of a timer queue.  Be aware that it doesn't transverse in the order of timeout values.

## PUBLIC MEMBERS

```
ACE_Timer_Wheel_Iterator_T (
    ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK> &
    );
```

Constructor

```
~ACE_Timer_Wheel_Iterator_T (void);
```

Destructor

```
virtual void first (void);
```

Positions the iterator at the earliest node in the Timer Queue

```
virtual void next (void);
```

Positions the iterator at the next node in the Timer Queue

```
virtual int isdone (void);
```

Returns true when there are no more nodes in the sequence

```
virtual ACE_Timer_Node_T<TYPE> *item (void);
```

Returns the node at the current position in the sequence

## PROTECTED MEMBERS

```
ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK> &timer_wheel_;
```

Pointer to the ACE\_Timer\_List that we are iterating over.

```
size_t pos_;
```

Current position in the timing wheel

```
ACE_Timer_Node_T<TYPE> *list_item_;
```

Pointer to the position in the the pos\_th list

## AUTHOR

Darrell Brunsch brunsch@cs.wustl.edu

## LIBRARY

ace
