what4-1.5.1: Solver-agnostic symbolic values support for issuing queries

Copyright | (c) Galois Inc 2019-2020
License | BSD3
Maintainer | rdockins@galois.com
Safe Haskell | Safe-Inferred
Language | Haskell2010

What4.Expr.ArrayUpdateMap

Description

# Documentation

data ArrayUpdateMap e ctx tp Source #

#### Instances

Instances details

TestEquality e => Eq (ArrayUpdateMap e ctx tp) Source # |
Instance details Defined in What4.Expr.ArrayUpdateMap Methods (==) :: ArrayUpdateMap e ctx tp -> ArrayUpdateMap e ctx tp -> Bool Source # (/=) :: ArrayUpdateMap e ctx tp -> ArrayUpdateMap e ctx tp -> Bool Source #
TestEquality e => Hashable (ArrayUpdateMap e ctx tp) Source # |
Instance details Defined in What4.Expr.ArrayUpdateMap Methods hashWithSalt :: Int -> ArrayUpdateMap e ctx tp -> Int Source # hash :: ArrayUpdateMap e ctx tp -> Int Source #

arrayUpdateAbs :: ArrayUpdateMap e ct tp -> Maybe (AbstractValue tp) Source #

empty :: ArrayUpdateMap e ctx tp Source #

null :: ArrayUpdateMap e ctx tp -> Bool Source #

lookup :: Assignment IndexLit ctx -> ArrayUpdateMap e ctx tp -> Maybe (e tp) Source #

filter :: (e tp -> Bool) -> ArrayUpdateMap e ctx tp -> ArrayUpdateMap e ctx tp Source #

singleton :: (HashableF e, HasAbsValue e) => BaseTypeRepr tp -> Assignment IndexLit ctx -> e tp -> ArrayUpdateMap e ctx tp Source #

insert :: (HashableF e, HasAbsValue e) => BaseTypeRepr tp -> Assignment IndexLit ctx -> e tp -> ArrayUpdateMap e ctx tp -> ArrayUpdateMap e ctx tp Source #

delete :: Assignment IndexLit ctx -> ArrayUpdateMap e ctx tp -> ArrayUpdateMap e ctx tp Source #

fromAscList :: (HasAbsValue e, HashableF e) => BaseTypeRepr tp -> [(Assignment IndexLit ctx, e tp)] -> ArrayUpdateMap e ctx tp Source #

toList :: ArrayUpdateMap e ctx tp -> [(Assignment IndexLit ctx, e tp)] Source #

toMap :: ArrayUpdateMap e ctx tp -> Map (Assignment IndexLit ctx) (e tp) Source #

keysSet :: ArrayUpdateMap e ctx tp -> Set (Assignment IndexLit ctx) Source #

traverseArrayUpdateMap :: Applicative m => (e tp -> m (f tp)) -> ArrayUpdateMap e ctx tp -> m (ArrayUpdateMap f ctx tp) Source #

mergeM :: (Applicative m, HashableF g, HasAbsValue g) => BaseTypeRepr tp -> (Assignment IndexLit ctx -> e tp -> f tp -> m (g tp)) -> (Assignment IndexLit ctx -> e tp -> m (g tp)) -> (Assignment IndexLit ctx -> f tp -> m (g tp)) -> ArrayUpdateMap e ctx tp -> ArrayUpdateMap f ctx tp -> m (ArrayUpdateMap g ctx tp) Source #