# Sequencer¶

[req.sequencer]

A type S satisfies Sequencer if it meets the following requirements:

Sequencer Requirements: Pseudo-Signature, Semantics

S::S(const S&)

Copy constructor.

S::~S()

Destructor.

void operator=(const S&)

Assignment. The return type void in the pseudo-signature denotes that operator= is not required to return a value. The actual operator= can return a value, which will be ignored.

size_t S::operator()(const T &v)

Requirements: The type T must be the same as the template type argument T of the sequencer_node instance in which the S object is passed during construction.

Returns the sequence number for the provided message v.