cprover
|
Maps a big-endian offset to a little-endian offset. More...
#include <endianness_map.h>
Public Member Functions | |
endianness_mapt (const typet &type, bool little_endian, const namespacet &_ns) | |
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) |
void | build_big_endian (const typet &type) |
Protected Attributes | |
const namespacet & | ns |
std::vector< size_t > | map |
Maps a big-endian offset to a little-endian offset.
Definition at line 29 of file endianness_map.h.
|
inline |
Definition at line 32 of file endianness_map.h.
References build().
void endianness_mapt::build | ( | const typet & | type, |
bool | little_endian | ||
) |
Definition at line 31 of file endianness_map.cpp.
References build_big_endian(), and build_little_endian().
Referenced by endianness_mapt().
|
protected |
Definition at line 52 of file endianness_map.cpp.
References struct_union_typet::components(), namespace_baset::follow(), namespace_baset::follow_tag(), irept::id(), integer2size_t(), map, ns, pointer_offset_bits(), array_typet::size(), vector_typet::size(), typet::subtype(), to_array_type(), to_c_enum_tag_type(), to_integer(), to_struct_type(), and to_vector_type().
Referenced by build().
|
protected |
Definition at line 39 of file endianness_map.cpp.
References integer2size_t(), map, ns, and pointer_offset_bits().
Referenced by build().
|
inline |
Definition at line 40 of file endianness_map.h.
References map.
Referenced by simplify_exprt::bits2expr(), boolbvt::convert_byte_update(), boolbvt::convert_with_union(), and map_bv().
|
inline |
void endianness_mapt::output | ( | std::ostream & | out | ) | const |
|
protected |
Definition at line 59 of file endianness_map.h.
Referenced by build_big_endian(), build_little_endian(), map_bit(), number_of_bits(), and output().
|
protected |
Definition at line 58 of file endianness_map.h.
Referenced by build_big_endian(), and build_little_endian().