Z3 |

ArrayExpr.cs
Go to the documentation of this file.
1/*++
2 Copyright (<c>) 2012 Microsoft Corporation
3
4 Module Name:
5
6 ArrayExpr.cs
7
8 Abstract:
9
10 Z3 Managed API: Array Expressions
11
12 Author:
13
14 Christoph Wintersteiger (cwinter) 2012-11-23
15
16 Notes:
17
18--*/
19 using System.Diagnostics;
20 using System;
21 using System.Collections.Generic;
22 using System.Linq;
23 using System.Text;
24
25
26 namespace Microsoft.Z3
27{
31 public class ArrayExpr : Expr
32 {
33 #region Internal
35 internal ArrayExpr(Context ctx, IntPtr obj)
36 : base(ctx, obj)
37 {
38 Debug.Assert(ctx != null);
39 }
40 #endregion
41
43 public Expr this[Expr index]
44 {
45 get { return Context.MkSelect(this, index); }
46 }
47
49 public Expr this[IEnumerable<Expr> index]
50 {
51 get { return Context.MkSelect(this, index.ToArray()); }
52 }
53
54 }
55}
Microsoft.Z3.ArrayExpr
Array expressions
Definition: ArrayExpr.cs:32
Microsoft.Z3.Context
The main interaction with Z3 happens via the Context.
Definition: Context.cs:32
Microsoft.Z3.Context.MkSelect
Expr MkSelect(ArrayExpr a, Expr i)
Array read.
Definition: Context.cs:2048
Microsoft.Z3.Expr
Expressions are terms.
Definition: Expr.cs:31
Microsoft.Z3
Definition: AlgebraicNum.cs:27