MySQL  8.0.27
Source Code Documentation
Geometry::wkb_parser Class Reference

WKB parser, designed to traverse through WKB data from beginning of the buffer towards the end using a set of scan_xxx(), get_xxx() and skip_xxx() routines, with safety tests to avoid going beyond the buffer end. More...

#include <spatial.h>

Inheritance diagram for Geometry::wkb_parser:
Geometry::wkb_container

Public Member Functions

 wkb_parser (const char *data, const char *data_end)
 
void skip_unsafe (size_t nbytes)
 
bool skip (size_t nbytes)
 
bool skip_wkb_header ()
 
bool skip_coord ()
 
bool scan_wkb_header (wkb_header *header)
 
bool scan_uint4 (uint32 *number)
 
bool scan_non_zero_uint4 (uint32 *number)
 
bool scan_n_points_and_check_data (uint32 *n_points, uint32 extra_point_space=0)
 
void scan_xy_unsafe (point_xy *p)
 
bool scan_xy (point_xy *p)
 
bool scan_coord (double *x)
 
- Public Member Functions inherited from Geometry::wkb_container
 wkb_container ()=default
 
 wkb_container (const char *data, const char *data_end)
 
void set (const char *data, const char *data_end)
 
const char * data () const
 
const char * data_end () const
 
uint32 length () const
 
bool no_data (size_t data_amount) const
 Check if there's enough data remaining as requested. More...
 
bool not_enough_points (uint32 expected_points, uint32 extra_point_space=0) const
 Check if there're enough points remaining as requested. More...
 

Private Member Functions

void get_uint4 (uint32 *number)
 
void get_float8 (double *x)
 

Additional Inherited Members

- Protected Attributes inherited from Geometry::wkb_container
const char * m_data
 
const char * m_data_end
 

Detailed Description

WKB parser, designed to traverse through WKB data from beginning of the buffer towards the end using a set of scan_xxx(), get_xxx() and skip_xxx() routines, with safety tests to avoid going beyond the buffer end.

Constructor & Destructor Documentation

◆ wkb_parser()

Geometry::wkb_parser::wkb_parser ( const char *  data,
const char *  data_end 
)
inline

Member Function Documentation

◆ get_float8()

void Geometry::wkb_parser::get_float8 ( double *  x)
inlineprivate

◆ get_uint4()

void Geometry::wkb_parser::get_uint4 ( uint32 number)
inlineprivate

◆ scan_coord()

bool Geometry::wkb_parser::scan_coord ( double *  x)
inline

◆ scan_n_points_and_check_data()

bool Geometry::wkb_parser::scan_n_points_and_check_data ( uint32 n_points,
uint32  extra_point_space = 0 
)
inline

◆ scan_non_zero_uint4()

bool Geometry::wkb_parser::scan_non_zero_uint4 ( uint32 number)
inline

◆ scan_uint4()

bool Geometry::wkb_parser::scan_uint4 ( uint32 number)
inline

◆ scan_wkb_header()

bool Geometry::wkb_parser::scan_wkb_header ( wkb_header header)
inline

◆ scan_xy()

bool Geometry::wkb_parser::scan_xy ( point_xy p)
inline

◆ scan_xy_unsafe()

void Geometry::wkb_parser::scan_xy_unsafe ( point_xy p)
inline

◆ skip()

bool Geometry::wkb_parser::skip ( size_t  nbytes)
inline

◆ skip_coord()

bool Geometry::wkb_parser::skip_coord ( )
inline

◆ skip_unsafe()

void Geometry::wkb_parser::skip_unsafe ( size_t  nbytes)
inline

◆ skip_wkb_header()

bool Geometry::wkb_parser::skip_wkb_header ( )
inline

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