z3-z3-4.12.6.src.api.dotnet.ArrayExpr.cs Maven / Gradle / Ivy
/*++
Copyright () 2012 Microsoft Corporation
Module Name:
ArrayExpr.cs
Abstract:
Z3 Managed API: Array Expressions
Author:
Christoph Wintersteiger (cwinter) 2012-11-23
Notes:
--*/
using System.Diagnostics;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Microsoft.Z3
{
///
/// Array expressions
///
public class ArrayExpr : Expr
{
#region Internal
/// Constructor for ArrayExpr
internal ArrayExpr(Context ctx, IntPtr obj)
: base(ctx, obj)
{
Debug.Assert(ctx != null);
}
#endregion
/// Single argument select
public Expr this[Expr index]
{
get { return Context.MkSelect(this, index); }
}
/// Multi argument select
public Expr this[IEnumerable index]
{
get { return Context.MkSelect(this, index.ToArray()); }
}
}
}