# stdex: stdex::parser::basic_si_reference< T > Class Template Reference

Loading...
Searching...
No Matches
stdex::parser::basic_si_reference< T > Class Template Reference

Test for SI Reference. More...

`#include <stdex/parser.hpp>`

Inheritance diagram for stdex::parser::basic_si_reference< T >:

## Public Member Functions

| basic_si_reference (const std::shared_ptr< basic_parser< T > > &space, const std::locale &locale=std::locale())
virtual bool | match (_In_reads_or_z_(end) const T *text, size_t start=0, size_t end=(size_t) -1, int flags=match_default)
virtual void | invalidate ()
Public Member Functions inherited from stdex::parser::basic_parser< T >
| basic_parser (const std::locale &locale=std::locale())
bool | search (_In_reads_or_z_(end) const T *text, size_t start=0, size_t end=(size_t) -1, int flags=match_default)
template<class _Traits , class _Ax >
bool | match (const std::basic_string< T, _Traits, _Ax > &text, size_t start=0, size_t end=(size_t) -1, int flags=match_default)

## Public Attributes

T | model [3]
| Reference model.
basic_si_reference_part< T > | part1
| Reference data part 1 (P1)
basic_si_reference_part< T > | part2
| Reference data part 2 (P2)
basic_si_reference_part< T > | part3
| Reference data part 3 (P3)
bool | is_valid
| Is reference valid.
Public Attributes inherited from stdex::parser::basic_parser< T >
stdex::interval< size_t > | interval
| Region of the last match.

## Static Protected Member Functions

static bool | check11 (const T *part1, size_t num_part1)
static bool | check11 (const T *part1, size_t num_part1, const T *part2, size_t num_part2)
static bool | check11 (const T *part1, size_t num_part1, const T *part2, size_t num_part2, const T *part3, size_t num_part3)

## Protected Attributes

std::shared_ptr< basic_parser< T > > | m_space
basic_si_reference_delimiter< T > | m_delimiter
Protected Attributes inherited from stdex::parser::basic_parser< T >
std::locale | m_locale

## Detailed Description

template<class T>
class stdex::parser::basic_si_reference< T >

Test for SI Reference.

This is one utterly convoluted reference scheme used by Slovenian banks providing only poor integrity detection. 🤦‍

See also
  Navodila za izpolnjevanje obrazca UPN – Univerzalni plačilni nalog

## Member Function Documentation

## invalidate()

template<class T >

virtual void stdex::parser::basic_si_reference< T >::invalidate | ( |  | ) |

inlinevirtual

Reimplemented from stdex::parser::basic_parser< T >.

## match()

template<class T >

virtual bool stdex::parser::basic_si_reference< T >::match | ( | _In_reads_or_z_(end) const T * | text,
|  | size_t | start = `0`,
|  | size_t | end = `(size_t)-1`,
|  | int | flags = `match_default`
| ) |  |

inlinevirtual

Implements stdex::parser::basic_parser< T >.

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

- include/stdex/parser.hpp