stdex
Additional custom or not Standard C++ covered algorithms
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 >:
stdex::parser::basic_parser< T >

Public Member Functions

 basic_si_reference (const std::shared_ptr< basic_parser< T > > &space, const std::locale &locale=std::locale())
 
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_opt_(end) const T *text, size_t start=0, size_t end=SIZE_MAX, int flags=match_default)
 
bool match (_In_reads_or_z_opt_(end) const T *text, size_t start=0, size_t end=SIZE_MAX, int flags=match_default)
 
bool match (const std::basic_string_view< T, std::char_traits< T > > text, size_t start=0, size_t end=SIZE_MAX, int flags=match_default)
 

Public Attributes

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.
 

Protected Member Functions

virtual bool do_match (_In_reads_or_z_opt_(end) const T *text, size_t start=0, size_t end=SIZE_MAX, int flags=match_default)
 
- Protected Member Functions inherited from stdex::parser::basic_parser< T >

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

◆ do_match()

template<class T >
virtual bool stdex::parser::basic_si_reference< T >::do_match ( _In_reads_or_z_opt_(end) const T * text,
size_t start = 0,
size_t end = SIZE_MAX,
int flags = match_default )
inlineprotectedvirtual

◆ invalidate()

template<class T >
virtual void stdex::parser::basic_si_reference< T >::invalidate ( )
inlinevirtual

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


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