mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | Friends
m::wasm::HashTable::the_reference< NChar, IsConst > Struct Template Reference

#include <WasmAlgo.hpp>

Collaboration diagram for m::wasm::HashTable::the_reference< NChar, IsConst >:
[legend]

Public Member Functions

 the_reference (NChar addr)
 
 the_reference (NChar addr, Ptr< void > null_bitmap, uint8_t null_bit_offset)
 
void discard ()
 

‍Discards this.


 
the_reference clone () const
 

‍Returns a deep copy of this.


 
void operator= (NChar addr)
 

‍Assigns this to the string stored at addr.


 
void set_value (NChar addr)
 

‍Assigns the value of this to the string stored at addr w/o updating the NULL bit.


 
void set_null_bit (Boolx1 is_null)
 

‍Assigns the NULL bit of this to is_null. Does not update/modify the value of this.


 
void set_null ()
 

‍Sets this to NULL. Does not modify the value of this.


 
void set_not_null ()
 

‍Sets this to NOT NULL. Does not modify the value of this.


 
Boolx1 operator== (NChar _addr)
 

‍Compares this with the string stored at _addr.


 
 operator NChar ()
 

‍Loads the value of this.


 

Private Member Functions

 the_reference (NChar addr, std::optional< Ptr< U8x1 > > is_null_byte, std::optional< U8x1 > is_null_mask)
 
 the_reference (NChar addr, Ptr< U8x1 > is_null_byte, U8x1 is_null_mask)
 

Private Attributes

NChar addr_
 
std::optional< Ptr< U8x1 > > is_null_byte_
 
std::optional< U8x1 > is_null_mask_
 

Friends

struct the_entry< false >
 
struct the_entry< true >
 
the_reference Select (Boolx1 cond, the_reference tru, the_reference fals)
 

‍Selects either the reference tru or fals depending on the value of cond.


 

Detailed Description

template<bool IsConst>
struct m::wasm::HashTable::the_reference< NChar, IsConst >

Definition at line 201 of file WasmAlgo.hpp.

Constructor & Destructor Documentation

◆ the_reference() [1/4]

template<bool IsConst>
m::wasm::HashTable::the_reference< NChar, IsConst >::the_reference ( NChar  addr,
std::optional< Ptr< U8x1 > >  is_null_byte,
std::optional< U8x1 >  is_null_mask 
)
inlineexplicitprivate

◆ the_reference() [2/4]

template<bool IsConst>
m::wasm::HashTable::the_reference< NChar, IsConst >::the_reference ( NChar  addr,
Ptr< U8x1 >  is_null_byte,
U8x1  is_null_mask 
)
inlineexplicitprivate

Definition at line 220 of file WasmAlgo.hpp.

References m::wasm::NChar::can_be_null(), and M_insist.

◆ the_reference() [3/4]

template<bool IsConst>
m::wasm::HashTable::the_reference< NChar, IsConst >::the_reference ( NChar  addr)
inlineexplicit

Definition at line 229 of file WasmAlgo.hpp.

References m::wasm::NChar::can_be_null(), and M_insist.

◆ the_reference() [4/4]

template<bool IsConst>
m::wasm::HashTable::the_reference< NChar, IsConst >::the_reference ( NChar  addr,
Ptr< void >  null_bitmap,
uint8_t  null_bit_offset 
)
inlineexplicit

Definition at line 234 of file WasmAlgo.hpp.

References m::wasm::NChar::can_be_null(), and M_insist.

Member Function Documentation

◆ clone()

template<bool IsConst>
the_reference m::wasm::HashTable::the_reference< NChar, IsConst >::clone ( ) const
inline

◆ discard()

template<bool IsConst>
void m::wasm::HashTable::the_reference< NChar, IsConst >::discard ( )
inline

◆ operator NChar()

template<bool IsConst>
m::wasm::HashTable::the_reference< NChar, IsConst >::operator NChar ( )
inline

◆ operator=()

template<bool IsConst>
void m::wasm::HashTable::the_reference< NChar, IsConst >::operator= ( NChar  addr)
inline

◆ operator==()

template<bool IsConst>
Boolx1 m::wasm::HashTable::the_reference< NChar, IsConst >::operator== ( NChar  _addr)
inline

◆ set_not_null()

template<bool IsConst>
void m::wasm::HashTable::the_reference< NChar, IsConst >::set_not_null ( )
inline

‍Sets this to NOT NULL. Does not modify the value of this.

Definition at line 299 of file WasmAlgo.hpp.

References m::wasm::HashTable::is_null_byte_, m::wasm::HashTable::is_null_mask_, and M_insist.

◆ set_null()

template<bool IsConst>
void m::wasm::HashTable::the_reference< NChar, IsConst >::set_null ( )
inline

‍Sets this to NULL. Does not modify the value of this.

Definition at line 292 of file WasmAlgo.hpp.

References m::wasm::HashTable::is_null_byte_, m::wasm::HashTable::is_null_mask_, and M_insist.

◆ set_null_bit()

template<bool IsConst>
void m::wasm::HashTable::the_reference< NChar, IsConst >::set_null_bit ( Boolx1  is_null)
inline

‍Assigns the NULL bit of this to is_null. Does not update/modify the value of this.

Definition at line 285 of file WasmAlgo.hpp.

References m::wasm::is_null(), m::wasm::HashTable::is_null_byte_, m::wasm::HashTable::is_null_mask_, M_insist, and m::setbit().

◆ set_value()

template<bool IsConst>
void m::wasm::HashTable::the_reference< NChar, IsConst >::set_value ( NChar  addr)
inline

‍Assigns the value of this to the string stored at addr w/o updating the NULL bit.

Definition at line 274 of file WasmAlgo.hpp.

References m::wasm::and, m::wasm::NChar::can_be_null(), m::wasm::NChar::guarantees_terminating_nul(), m::wasm::HashTable::is_null_byte_, m::wasm::HashTable::is_null_mask_, m::wasm::NChar::length(), M_insist, and m::wasm::strncpy().

Friends And Related Function Documentation

◆ Select

template<bool IsConst>
the_reference Select ( Boolx1  cond,
the_reference< NChar, IsConst tru,
the_reference< NChar, IsConst fals 
)
friend

‍Selects either the reference tru or fals depending on the value of cond.

Definition at line 338 of file WasmAlgo.hpp.

◆ the_entry< false >

template<bool IsConst>
friend struct the_entry< false >
friend

Definition at line 598 of file WasmAlgo.hpp.

◆ the_entry< true >

template<bool IsConst>
friend struct the_entry< true >
friend

Definition at line 598 of file WasmAlgo.hpp.

Field Documentation

◆ addr_

template<bool IsConst>
NChar m::wasm::HashTable::the_reference< NChar, IsConst >::addr_
private

Definition at line 207 of file WasmAlgo.hpp.

◆ is_null_byte_

template<bool IsConst>
std::optional<Ptr<U8x1> > m::wasm::HashTable::the_reference< NChar, IsConst >::is_null_byte_
private

Definition at line 208 of file WasmAlgo.hpp.

◆ is_null_mask_

template<bool IsConst>
std::optional<U8x1> m::wasm::HashTable::the_reference< NChar, IsConst >::is_null_mask_
private

Definition at line 209 of file WasmAlgo.hpp.


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