cprover
bv_endianness_mapt Class Reference

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

#include <bv_endianness_map.h>

+ 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, 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

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

Protected Attributes

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 20 of file bv_endianness_map.h.

Constructor & Destructor Documentation

◆ bv_endianness_mapt()

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

Definition at line 23 of file bv_endianness_map.h.

Member Function Documentation

◆ build_big_endian()

void bv_endianness_mapt::build_big_endian ( const typet type)
overrideprotectedvirtual

Reimplemented from endianness_mapt.

Definition at line 30 of file bv_endianness_map.cpp.

◆ build_little_endian()

void bv_endianness_mapt::build_little_endian ( const typet type)
overrideprotectedvirtual

Reimplemented from endianness_mapt.

Definition at line 16 of file bv_endianness_map.cpp.

Member Data Documentation

◆ boolbv_width

boolbv_widtht& bv_endianness_mapt::boolbv_width
protected

Definition at line 34 of file bv_endianness_map.h.


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