cprover
Loading...
Searching...
No Matches
bv_endianness_mapt Class Reference

Map bytes according to the configured endianness. More...

Inheritance diagram for bv_endianness_mapt:
Collaboration diagram for bv_endianness_mapt:

Public Member Functions

 bv_endianness_mapt (const typet &type, bool little_endian, const namespacet &_ns, const boolbv_widtht &_boolbv_width)
Public Member Functions inherited from endianness_mapt
 endianness_mapt (const typet &type, bool little_endian, const namespacet &_ns)
 endianness_mapt (const namespacet &_ns)
virtual ~endianness_mapt ()=default
size_t map_bit (size_t bit) const
size_t number_of_bits () const
void build (const typet &type, bool little_endian)
void output (std::ostream &) const

Protected Member Functions

void build_little_endian (const typet &type) override
void build_big_endian (const typet &type) override

Protected Attributes

const boolbv_widthtboolbv_width
Protected Attributes inherited from endianness_mapt
const namespacetns
std::vector< size_t > map

Detailed Description

Map bytes according to the configured endianness.

The key difference to endianness_mapt is that bv_endianness_mapt is aware of the bit-level encoding of types, which need not co-incide with the bit layout at source-code level.

Definition at line 30 of file bv_pointers.cpp.

Constructor & Destructor Documentation

◆ bv_endianness_mapt()

bv_endianness_mapt::bv_endianness_mapt ( const typet & type,
bool little_endian,
const namespacet & _ns,
const boolbv_widtht & _boolbv_width )
inline

Definition at line 33 of file bv_pointers.cpp.

Member Function Documentation

◆ build_big_endian()

void bv_endianness_mapt::build_big_endian ( const typet & type)
overrideprotectedvirtual

Reimplemented from endianness_mapt.

Definition at line 63 of file bv_pointers.cpp.

◆ build_little_endian()

void bv_endianness_mapt::build_little_endian ( const typet & type)
overrideprotectedvirtual

Reimplemented from endianness_mapt.

Definition at line 50 of file bv_pointers.cpp.

Member Data Documentation

◆ boolbv_width

const boolbv_widtht& bv_endianness_mapt::boolbv_width
protected

Definition at line 44 of file bv_pointers.cpp.


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