---
name: "qb_hdb_iterator_next"
section: "3"
platform: "linux"
package: "libqb"
version: "2.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/qb_hdb_iterator_next"
---

# qb\_hdb\_iterator\_next(3)

Get the next object and increament it's refcount.

## NAME

qb\_hdb\_iterator\_next - Get the next object and increament it's refcount.

## SYNOPSIS

```
#include <qb/qbhdb.h>

int32_t qb_hdb_iterator_next(
    struct qb_hdb   *hdb,       /* the database instance */
    void           **instance,  /* (out) pointer to the desired object. */
    qb_handle_t     *handle     /* (out) the handle */
);
```

## PARAMS

**hdb**      *the database instance*

**instance** *(out) pointer to the desired object.*

**handle**   *(out) the handle*

## DESCRIPTION

Remember to call *qb\_hdb\_handle\_put()*

## STRUCTURES

```
struct qb_hdb {
    uint32_t    handle_count;
    qb_array_t  handles;
    uint32_t    iterator;
    void      (*destructor)(void *);
    uint32_t    first_run;
};
```

## RETURN VALUE

*(0 == ok, -errno failure)*

## SEE ALSO

[*qb\_hdb\_handle\_get*(3)](/qb_hdb_handle_get/3.md), [*qb\_hdb\_iterator\_reset*(3)](/qb_hdb_iterator_reset/3.md), [*qb\_hdb\_handle\_create*(3)](/qb_hdb_handle_create/3.md), [*qb\_hdb\_handle\_destroy*(3)](/qb_hdb_handle_destroy/3.md), [*qb\_hdb\_handle\_refcount\_get*(3)](/qb_hdb_handle_refcount_get/3.md), [*qb\_hdb\_nocheck\_convert*(3)](/qb_hdb_nocheck_convert/3.md), [*qb\_hdb\_create*(3)](/qb_hdb_create/3.md), [*qb\_hdb\_destroy*(3)](/qb_hdb_destroy/3.md), [*qb\_hdb\_base\_convert*(3)](/qb_hdb_base_convert/3.md), [*qb\_hdb\_handle\_get\_always*(3)](/qb_hdb_handle_get_always/3.md), [*qb\_hdb\_handle\_put*(3)](/qb_hdb_handle_put/3.md)

## COPYRIGHT

Copyright (C) 2010-2020 Red Hat, Inc.
