9 #ifndef CPROVER_SOLVERS_FLATTENING_LITERAL_VECTOR_EXPR_H
10 #define CPROVER_SOLVERS_FLATTENING_LITERAL_VECTOR_EXPR_H
30 result.reserve(sub.size());
31 for(
auto &literal_irep : sub)
45 sub.reserve(
bv.size());
46 for(
auto &literal :
bv)
54 return base.
id() == ID_literal_vector;
Base class for all expressions.
There are a large number of kinds of tree structured or tree-like data in CPROVER.
const irept & find(const irep_idt &name) const
const irep_idt & id() const
irept & add(const irep_idt &name)
literal_vector_exprt(const bvt &__bv, typet __type)
An expression without operands.
static void check(const exprt &expr, const validation_modet vm=validation_modet::INVARIANT)
The type of an expression, extends irept.
std::vector< literalt > bvt
const literal_vector_exprt & to_literal_vector_expr(const exprt &expr)
Cast a generic exprt to a literal_vector_exprt.
bool can_cast_expr< literal_vector_exprt >(const exprt &base)
#define PRECONDITION(CONDITION)
API to expression classes.
signed long long int unsafe_string2signedlonglong(const std::string &str, int base)
std::string to_string(const string_not_contains_constraintt &expr)
Used for debug printing.