Thu Jul 9 13:41:37 2009

Asterisk developer's documentation


ao2_iterator Struct Reference

When we need to walk through a container, we use ao2_iterator to keep track of the current position. The Astobj2 iterator. More...

#include <astobj2.h>


Data Fields

int bucket
ao2_containerc
unsigned int c_version
int flags
void * obj
unsigned int version


Detailed Description

When we need to walk through a container, we use ao2_iterator to keep track of the current position. The Astobj2 iterator.

Note:
You are not supposed to know the internals of an iterator! We would like the iterator to be opaque, unfortunately its size needs to be known if we want to store it around without too much trouble. Anyways... The iterator has a pointer to the container, and a flags field specifying various things e.g. whether the container should be locked or not while navigating on it. The iterator "points" to the current object, which is identified by three values:

Details are in the implementation of ao2_iterator_next() A freshly-initialized iterator has bucket=0, version = 0.

Definition at line 571 of file astobj2.h.


Field Documentation

int bucket

current bucket

Definition at line 578 of file astobj2.h.

Referenced by ao2_iterator_next().

struct ao2_container* c

the container

Definition at line 573 of file astobj2.h.

Referenced by ao2_iterator_init(), and ao2_iterator_next().

unsigned int c_version

container version

Definition at line 580 of file astobj2.h.

Referenced by ao2_iterator_next().

int flags

operation flags

Definition at line 575 of file astobj2.h.

Referenced by ao2_iterator_init(), and ao2_iterator_next().

void* obj

pointer to the current object

Definition at line 582 of file astobj2.h.

Referenced by ao2_iterator_next().

unsigned int version

container version when the object was created

Definition at line 584 of file astobj2.h.

Referenced by ao2_iterator_next().


The documentation for this struct was generated from the following file:
Generated on Thu Jul 9 13:41:37 2009 for Asterisk - the Open Source PBX by  doxygen 1.4.7