Qore Programming Language Reference Manual  1.8.0
Qore::Thread::Sequence Class Reference

The Sequence class implements a thread-safe increment-only object. More...

Public Member Methods

 constructor ()
 Creates a new Sequence object. More...
 
 constructor (softint start)
 Creates a new Sequence object with a starting value. More...
 
 copy ()
 Creates a new Sequence object, not based on the original. More...
 
int getCurrent ()
 Returns the current value of the sequence. More...
 
int next ()
 Atomically increments the sequence value and returns the last value. More...
 

Detailed Description

The Sequence class implements a thread-safe increment-only object.

This class does not block therefore is not tagged with Qore::PO_NO_THREAD_CLASSES

Member Function Documentation

◆ constructor() [1/2]

Qore::Thread::Sequence::constructor ( )

Creates a new Sequence object.

Example:
Sequence seq();

◆ constructor() [2/2]

Qore::Thread::Sequence::constructor ( softint  start)

Creates a new Sequence object with a starting value.

Example:
Sequence seq(20);

◆ copy()

Qore::Thread::Sequence::copy ( )

Creates a new Sequence object, not based on the original.

Example:
Sequence s2 = seq.copy();

◆ getCurrent()

int Qore::Thread::Sequence::getCurrent ( )

Returns the current value of the sequence.

Returns
current value of the sequence
Code Flags:
CONSTANT
Example:
int v = seq.getCurrent();

◆ next()

int Qore::Thread::Sequence::next ( )

Atomically increments the sequence value and returns the last value.

Returns
the last value of the sequence
Example:
int next = seq.next();