StormByte-Database 2.0.0
C++26 database module of the StormByte suite
 
Loading...
Searching...
No Matches
StormByte::Database::Rows Class Reference

Ordered collection of result rows. More...

#include <StormByte/database/rows.hxx>

Public Types

using value_type = Row
 Row value type.
 
using size_type = StormByte::Size
 Row count and index type.
 
using reference = Row &
 Mutable row reference.
 
using const_reference = const Row &
 Read-only row reference.
 
using pointer = Row *
 Mutable row pointer.
 
using const_pointer = const Row *
 Read-only row pointer.
 
using iterator = pointer
 Mutable pointer iterator.
 
using const_iterator = const_pointer
 Read-only pointer iterator.
 
using reverse_iterator = std::reverse_iterator< iterator >
 Mutable reverse iterator.
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 Read-only reverse iterator.
 

Public Member Functions

 Rows () noexcept
 Default constructor.
 
 Rows (const Rows &other)
 Copy constructor.
 
 Rows (Rows &&other) noexcept
 Move constructor.
 
 ~Rows () noexcept
 Destructor.
 
Rows & operator= (const Rows &other)
 Copy assignment.
 
Rows & operator= (Rows &&other) noexcept
 Move assignment.
 
bool operator== (const Rows &other) const
 Equality of the ordered rows.
 
bool operator!= (const Rows &other) const
 Inequality of the ordered rows.
 
iterator begin () noexcept
 Mutable begin pointer.
 
const_iterator begin () const noexcept
 Read-only begin pointer.
 
iterator end () noexcept
 Mutable end pointer.
 
const_iterator end () const noexcept
 Read-only end pointer.
 
const_iterator cbegin () const noexcept
 Read-only begin pointer.
 
const_iterator cend () const noexcept
 Read-only end pointer.
 
reverse_iterator rbegin () noexcept
 Mutable reverse begin.
 
reverse_iterator rend () noexcept
 Mutable reverse end.
 
const_reverse_iterator rbegin () const noexcept
 Read-only reverse begin.
 
const_reverse_iterator rend () const noexcept
 Read-only reverse end.
 
const_reverse_iterator crbegin () const noexcept
 Read-only reverse begin.
 
const_reverse_iterator crend () const noexcept
 Read-only reverse end.
 
StormByte::Size size () const noexcept
 Row count.
 
bool empty () const noexcept
 Whether the collection has no rows.
 
Row & operator[] (StormByte::Size index)
 Access a row by zero-based index.
 
const Row & operator[] (StormByte::Size index) const
 Access a row by zero-based index.
 
void add (const Row &row)
 Append a copy of a row.
 
void add (Row &&row)
 Append a moved row.
 
bool has_item (const Row &row) const
 Search for an equal row.
 
StormByte::Size Count () const noexcept
 Number of rows.
 

Detailed Description

Ordered collection of result rows.

Member Typedef Documentation

◆ const_iterator

Read-only pointer iterator.

◆ const_pointer

Read-only row pointer.

◆ const_reference

Read-only row reference.

◆ const_reverse_iterator

Read-only reverse iterator.

◆ iterator

Mutable pointer iterator.

◆ pointer

Mutable row pointer.

◆ reference

Mutable row reference.

◆ reverse_iterator

using StormByte::Database::Rows::reverse_iterator = std::reverse_iterator<iterator>

Mutable reverse iterator.

◆ size_type

◆ value_type

Constructor & Destructor Documentation

◆ Rows() [1/3]

StormByte::Database::Rows::Rows ( )
noexcept

Default constructor.

◆ Rows() [2/3]

StormByte::Database::Rows::Rows ( const Rows &  other)

Copy constructor.

◆ Rows() [3/3]

StormByte::Database::Rows::Rows ( Rows &&  other)
noexcept

Move constructor.

◆ ~Rows()

StormByte::Database::Rows::~Rows ( )
noexcept

Destructor.

Member Function Documentation

◆ add() [1/2]

void StormByte::Database::Rows::add ( const Row &  row)

Append a copy of a row.

Parameters
rowRow to copy.

◆ add() [2/2]

void StormByte::Database::Rows::add ( Row &&  row)

Append a moved row.

Parameters
rowRow to move.

◆ begin() [1/2]

const_iterator StormByte::Database::Rows::begin ( ) const
noexcept

Read-only begin pointer.

Returns
Pointer to the first row or null when empty.

◆ begin() [2/2]

iterator StormByte::Database::Rows::begin ( )
noexcept

Mutable begin pointer.

Returns
Pointer to the first row or null when empty.

◆ cbegin()

const_iterator StormByte::Database::Rows::cbegin ( ) const
noexcept

Read-only begin pointer.

Returns
Pointer to the first row or null when empty.

◆ cend()

const_iterator StormByte::Database::Rows::cend ( ) const
noexcept

Read-only end pointer.

Returns
Pointer past the last row or null when empty.

◆ Count()

StormByte::Size StormByte::Database::Rows::Count ( ) const
noexcept

Number of rows.

Returns
Count.

◆ crbegin()

const_reverse_iterator StormByte::Database::Rows::crbegin ( ) const
noexcept

Read-only reverse begin.

Returns
Reverse iterator.

◆ crend()

const_reverse_iterator StormByte::Database::Rows::crend ( ) const
noexcept

Read-only reverse end.

Returns
Reverse iterator.

◆ empty()

bool StormByte::Database::Rows::empty ( ) const
noexcept

Whether the collection has no rows.

Returns
True when empty.

◆ end() [1/2]

const_iterator StormByte::Database::Rows::end ( ) const
noexcept

Read-only end pointer.

Returns
Pointer past the last row or null when empty.

◆ end() [2/2]

iterator StormByte::Database::Rows::end ( )
noexcept

Mutable end pointer.

Returns
Pointer past the last row or null when empty.

◆ has_item()

bool StormByte::Database::Rows::has_item ( const Row &  row) const

Search for an equal row.

Parameters
rowRow to find.
Returns
Whether the row exists in this collection.

◆ operator!=()

bool StormByte::Database::Rows::operator!= ( const Rows &  other) const

Inequality of the ordered rows.

Parameters
otherRows to compare.
Returns
Whether the collections differ.

◆ operator=() [1/2]

Rows & StormByte::Database::Rows::operator= ( const Rows &  other)

Copy assignment.

◆ operator=() [2/2]

Rows & StormByte::Database::Rows::operator= ( Rows &&  other)
noexcept

Move assignment.

◆ operator==()

bool StormByte::Database::Rows::operator== ( const Rows &  other) const

Equality of the ordered rows.

Parameters
otherRows to compare.
Returns
Whether both collections contain equal rows.

◆ operator[]() [1/2]

Row & StormByte::Database::Rows::operator[] ( StormByte::Size  index)

Access a row by zero-based index.

Parameters
indexRow index.
Returns
Mutable row reference.
Exceptions
OutOfBoundswhen index is outside this collection.

◆ operator[]() [2/2]

const Row & StormByte::Database::Rows::operator[] ( StormByte::Size  index) const

Access a row by zero-based index.

Parameters
indexRow index.
Returns
Read-only row reference.
Exceptions
OutOfBoundswhen index is outside this collection.

◆ rbegin() [1/2]

const_reverse_iterator StormByte::Database::Rows::rbegin ( ) const
noexcept

Read-only reverse begin.

Returns
Reverse iterator.

◆ rbegin() [2/2]

reverse_iterator StormByte::Database::Rows::rbegin ( )
noexcept

Mutable reverse begin.

Returns
Reverse iterator.

◆ rend() [1/2]

const_reverse_iterator StormByte::Database::Rows::rend ( ) const
noexcept

Read-only reverse end.

Returns
Reverse iterator.

◆ rend() [2/2]

reverse_iterator StormByte::Database::Rows::rend ( )
noexcept

Mutable reverse end.

Returns
Reverse iterator.

◆ size()

StormByte::Size StormByte::Database::Rows::size ( ) const
noexcept

Row count.

Returns
Number of rows.

The documentation for this class was generated from the following file: