Nail to Nail Fingerprint Capture Challenge
API for participant-specific one-to-many template generation and template matching.
Public Types | Public Member Functions | List of all members
BiometricEvaluation::IO::RecordStoreIterator Class Reference

Generic ForwardIterator for all RecordStores. More...

#include <be_io_recordstore.h>

Public Types

using iterator_category = std::forward_iterator_tag
 Type of iterator.
 
using value_type = RecordStore::Record
 Type when dereferencing iterators.
 
using difference_type = std::ptrdiff_t
 Type used to measure distance between iterators.
 
using pointer = value_type *
 Pointer to the type iterated over.
 
using reference = value_type &
 Reference to the type iterated over.
 

Public Member Functions

 RecordStoreIterator ()=default
 Default constructor. More...
 
 RecordStoreIterator (IO::RecordStore *recordStore, bool atEnd)
 Constructor. More...
 
 RecordStoreIterator (const RecordStoreIterator &rhs)=default
 Default copy constructor.
 
 RecordStoreIterator (RecordStoreIterator &&rvalue)=default
 Default move constructor.
 
 ~RecordStoreIterator ()=default
 Default destructor.
 
reference operator* ()
 
pointer operator-> ()
 
RecordStoreIteratoroperator++ ()
 
RecordStoreIterator operator++ (int)
 
RecordStoreIterator operator+= (difference_type rhs)
 Advance a variable number of arguments. More...
 
RecordStoreIterator operator+ (difference_type rhs)
 Advance a variable number of arguments. More...
 
bool operator== (const RecordStoreIterator &rhs)
 Equivalence operator. More...
 
bool operator!= (const RecordStoreIterator &rhs)
 Non-equivalence operator. More...
 
RecordStoreIteratoroperator= (const RecordStoreIterator &rhs)=default
 
RecordStoreIteratoroperator= (RecordStoreIterator &&rhs)=default
 Default move assignment operator.
 

Detailed Description

Generic ForwardIterator for all RecordStores.

Note
Dereferencing an iterator returns a copy of the value. Modifying a non-const iterator does not manipulate the underlying RecordStore.
This generic iterator provides no optimization over RecordStore::sequence().

Constructor & Destructor Documentation

◆ RecordStoreIterator() [1/2]

BiometricEvaluation::IO::RecordStoreIterator::RecordStoreIterator ( )
default

Default constructor.

Creates "end" iterator.

Note
Satisfies DefaultConstructible requirement.

◆ RecordStoreIterator() [2/2]

BiometricEvaluation::IO::RecordStoreIterator::RecordStoreIterator ( IO::RecordStore recordStore,
bool  atEnd 
)

Constructor.

Parameters
recordStorePointer to a RecordStore that will be iterated over.
atEndWhether or not to start at the "end" iterator.
Note
Iterator defaults to starting at the beginning of the RecordStore.
RecordStoreIterator does not retain any ownership of recordStore.

Member Function Documentation

◆ operator!=()

bool BiometricEvaluation::IO::RecordStoreIterator::operator!= ( const RecordStoreIterator rhs)
inline

Non-equivalence operator.

Parameters
rhsReference to RecordStoreIterator being compared.
Returns
Whether or not this is not equivalent to rhs.
Note
Satisfies "i != j" is equivalent to "!(i == j)" condition of InputIterator.

◆ operator*()

reference BiometricEvaluation::IO::RecordStoreIterator::operator* ( )
Returns
Reference to a Record.

◆ operator+()

RecordStoreIterator BiometricEvaluation::IO::RecordStoreIterator::operator+ ( difference_type  rhs)

Advance a variable number of arguments.

Parameters
rhsNumber of objects to advance (1 or more).
Returns
Self after advancing rhs objects.

◆ operator++() [1/2]

RecordStoreIterator & BiometricEvaluation::IO::RecordStoreIterator::operator++ ( )
Returns
Self after advancing.

◆ operator++() [2/2]

RecordStoreIterator BiometricEvaluation::IO::RecordStoreIterator::operator++ ( int  )
Returns
Copy of self before advancing.

◆ operator+=()

RecordStoreIterator BiometricEvaluation::IO::RecordStoreIterator::operator+= ( difference_type  rhs)

Advance a variable number of arguments.

Parameters
rhsNumber of objects to advance (1 or more).
Returns
Self after advancing rhs objects.

◆ operator->()

pointer BiometricEvaluation::IO::RecordStoreIterator::operator-> ( )
Returns
A dereferenced Record.

◆ operator==()

bool BiometricEvaluation::IO::RecordStoreIterator::operator== ( const RecordStoreIterator rhs)

Equivalence operator.

Parameters
rhsReference to RecordStoreIterator being compared.
Returns
Whether or not this is equivalent to rhs.