MySQL 8.0.40
Source Code Documentation
ut::mt_fast_modulo_t Class Reference

A class that allows to atomically set new modulo value for fast modulo computations. More...

#include <ut0math.h>

Inheritance diagram for ut::mt_fast_modulo_t:
[legend]

Classes

struct  data_t
 

Public Member Functions

 mt_fast_modulo_t ()
 
 mt_fast_modulo_t (uint64_t mod)
 
fast_modulo_t load () const
 
void store (uint64_t new_mod)
 

Private Attributes

Seq_lock< data_tm_data
 

Additional Inherited Members

- Private Member Functions inherited from ut::Non_copyable
 Non_copyable (const Non_copyable &)=delete
 
Non_copyableoperator= (const Non_copyable &)=delete
 
 Non_copyable ()=default
 
 ~Non_copyable ()=default
 

Detailed Description

A class that allows to atomically set new modulo value for fast modulo computations.

Constructor & Destructor Documentation

◆ mt_fast_modulo_t() [1/2]

ut::mt_fast_modulo_t::mt_fast_modulo_t ( )
inline

◆ mt_fast_modulo_t() [2/2]

ut::mt_fast_modulo_t::mt_fast_modulo_t ( uint64_t  mod)
inlineexplicit

Member Function Documentation

◆ load()

fast_modulo_t ut::mt_fast_modulo_t::load ( ) const
inline

◆ store()

void ut::mt_fast_modulo_t::store ( uint64_t  new_mod)
inline

Member Data Documentation

◆ m_data

Seq_lock<data_t> ut::mt_fast_modulo_t::m_data
private

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