10 #ifndef CPROVER_UTIL_ENDIANNESS_MAP_H 11 #define CPROVER_UTIL_ENDIANNESS_MAP_H 39 build(type, little_endian);
51 size_t result=
map[bit];
61 void build(
const typet &type,
bool little_endian);
63 void output(std::ostream &)
const;
67 std::vector<size_t>
map;
81 #endif // CPROVER_UTIL_ENDIANNESS_MAP_H The type of an expression, extends irept.
Maps a big-endian offset to a little-endian offset.
void build(const typet &type, bool little_endian)
std::ostream & operator<<(std::ostream &out, const endianness_mapt &m)
void output(std::ostream &) const
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
#define PRECONDITION(CONDITION)
endianness_mapt(const namespacet &_ns)
virtual void build_big_endian(const typet &type)
endianness_mapt(const typet &type, bool little_endian, const namespacet &_ns)
size_t number_of_bits() const
std::vector< size_t > map
size_t map_bit(size_t bit) const
#define DATA_INVARIANT(CONDITION, REASON)
This condition should be used to document that assumptions that are made on goto_functions,...
virtual void build_little_endian(const typet &type)
virtual ~endianness_mapt()=default