CBMC
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: