ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
type_byte_size.h File Reference
#include <util/irep/expr.h>
#include <irep2/irep2.h>
#include <util/arith/mp_arith.h>
#include <util/symtab/namespace.h>
#include <util/irep/std_types.h>
#include <string>
#include <vector>
Include dependency graph for type_byte_size.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

BigInt member_offset_bits (const type2tc &type, const irep_idt &member, const namespacet *ns=nullptr)
BigInt member_offset (const type2tc &type, const irep_idt &member, const namespacet *ns=nullptr)
std::vector< std::string > member_paths_at_offset (const type2tc &type, const BigInt &offset, const type2tc &target, const namespacet &ns)
std::vector< std::string > member_paths_of_type (const type2tc &type, const type2tc &target, const namespacet &ns)
BigInt type_byte_size_bits (const type2tc &type, const namespacet *ns=nullptr)
BigInt type_byte_size (const type2tc &type, const namespacet *ns=nullptr)
BigInt type_byte_size_default (const type2tc &type, const BigInt &defaultval, const namespacet *ns=nullptr)
expr2tc type_byte_size_bits_expr (const type2tc &type, const namespacet *ns=nullptr)
expr2tc type_byte_size_expr (const type2tc &type, const namespacet *ns=nullptr)
expr2tc compute_pointer_offset (const expr2tc &expr, const namespacet *ns=nullptr)
expr2tc compute_pointer_offset_bits (const expr2tc &expr, const namespacet *ns=nullptr)
const expr2tc & get_base_object (const expr2tc &expr)
std::size_t ext_int_representation_bytes (const typet &type)
BigInt alignment (const typet &type, const namespacet &ns)
BigInt access_alignment (const BigInt &bytes)
bool is_power_of_two (const BigInt &v)
BigInt object_base_alignment (const typet &type, const expr2tc &size, const namespacet &ns)

Function Documentation

◆ access_alignment()

BigInt access_alignment ( const BigInt & bytes)

◆ alignment()

BigInt alignment ( const typet & type,
const namespacet & ns )

◆ compute_pointer_offset()

expr2tc compute_pointer_offset ( const expr2tc & expr,
const namespacet * ns = nullptr )

◆ compute_pointer_offset_bits()

expr2tc compute_pointer_offset_bits ( const expr2tc & expr,
const namespacet * ns = nullptr )

◆ ext_int_representation_bytes()

std::size_t ext_int_representation_bytes ( const typet & type)

◆ get_base_object()

const expr2tc & get_base_object ( const expr2tc & expr)

◆ is_power_of_two()

bool is_power_of_two ( const BigInt & v)

◆ member_offset()

BigInt member_offset ( const type2tc & type,
const irep_idt & member,
const namespacet * ns = nullptr )

◆ member_offset_bits()

BigInt member_offset_bits ( const type2tc & type,
const irep_idt & member,
const namespacet * ns = nullptr )

◆ member_paths_at_offset()

std::vector< std::string > member_paths_at_offset ( const type2tc & type,
const BigInt & offset,
const type2tc & target,
const namespacet & ns )

◆ member_paths_of_type()

std::vector< std::string > member_paths_of_type ( const type2tc & type,
const type2tc & target,
const namespacet & ns )

◆ object_base_alignment()

BigInt object_base_alignment ( const typet & type,
const expr2tc & size,
const namespacet & ns )

◆ type_byte_size()

BigInt type_byte_size ( const type2tc & type,
const namespacet * ns = nullptr )

◆ type_byte_size_bits()

BigInt type_byte_size_bits ( const type2tc & type,
const namespacet * ns = nullptr )

◆ type_byte_size_bits_expr()

expr2tc type_byte_size_bits_expr ( const type2tc & type,
const namespacet * ns = nullptr )

◆ type_byte_size_default()

BigInt type_byte_size_default ( const type2tc & type,
const BigInt & defaultval,
const namespacet * ns = nullptr )

◆ type_byte_size_expr()

expr2tc type_byte_size_expr ( const type2tc & type,
const namespacet * ns = nullptr )