MySQL  8.0.24
Source Code Documentation
varlen_element Struct Reference

A RandomAccessIterator that splits up a char/uchar array into fixed-length elements, so that they can be sorted using std::sort. More...

#include <varlen_sort.h>

Public Member Functions

 varlen_element (unsigned char *ptr_arg, size_t elem_size_arg)
 
 varlen_element (varlen_element &other)=delete
 
 varlen_element (varlen_element &&other)
 
varlen_elementoperator= (const varlen_element &other)=delete
 
varlen_elementoperator= (varlen_element &&other)
 

Public Attributes

std::unique_ptr< unsigned char[]> mem
 
unsigned char * ptr = nullptr
 
size_t elem_size = 0
 

Detailed Description

A RandomAccessIterator that splits up a char/uchar array into fixed-length elements, so that they can be sorted using std::sort.

There is also a helper function varlen_sort() that is an adapter around std::sort for this purpose.

Constructor & Destructor Documentation

◆ varlen_element() [1/3]

varlen_element::varlen_element ( unsigned char *  ptr_arg,
size_t  elem_size_arg 
)
inline

◆ varlen_element() [2/3]

varlen_element::varlen_element ( varlen_element other)
delete

◆ varlen_element() [3/3]

varlen_element::varlen_element ( varlen_element &&  other)
inline

Member Function Documentation

◆ operator=() [1/2]

varlen_element& varlen_element::operator= ( const varlen_element other)
delete

◆ operator=() [2/2]

varlen_element& varlen_element::operator= ( varlen_element &&  other)
inline

Member Data Documentation

◆ elem_size

size_t varlen_element::elem_size = 0

◆ mem

std::unique_ptr<unsigned char[]> varlen_element::mem

◆ ptr

unsigned char* varlen_element::ptr = nullptr

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