21 using System.Diagnostics.Contracts;
23 namespace Microsoft.Z3
28 [ContractVerification(
true)]
36 Contract.Requires(p != null);
37 Native.Z3_params_validate(Context.nCtx, p.NativeObject, NativeObject);
45 Contract.Requires(name != null);
46 return (
Z3_param_kind)Native.Z3_param_descrs_get_kind(Context.nCtx, NativeObject, name.NativeObject);
56 uint sz = Native.Z3_param_descrs_size(Context.nCtx, NativeObject);
58 for (uint i = 0; i < sz; ++i) {
59 names[i] = Symbol.Create(
Context, Native.Z3_param_descrs_get_name(Context.nCtx, NativeObject, i));
70 get {
return Native.Z3_param_descrs_size(Context.nCtx, NativeObject); }
78 return Native.Z3_param_descrs_to_string(Context.nCtx, NativeObject);
85 Contract.Requires(ctx != null);
88 internal class DecRefQueue : IDecRefQueue
90 public DecRefQueue() : base() { }
91 public DecRefQueue(uint move_limit) : base(move_limit) { }
92 internal override void IncRef(Context ctx, IntPtr obj)
94 Native.Z3_param_descrs_inc_ref(ctx.nCtx, obj);
97 internal override void DecRef(Context ctx, IntPtr obj)
99 Native.Z3_param_descrs_dec_ref(ctx.nCtx, obj);
103 internal override void IncRef(IntPtr o)
105 Context.ParamDescrs_DRQ.IncAndClear(Context, o);
109 internal override void DecRef(IntPtr o)
111 Context.ParamDescrs_DRQ.Add(o);
Z3_param_kind
Z3_param_kind
void Validate(Params p)
validate a set of parameters.
override string ToString()
Retrieves a string representation of the ParamDescrs.
A Params objects represents a configuration in the form of Symbol/value pairs.
A ParamDescrs describes a set of parameters.
The main interaction with Z3 happens via the Context.
Internal base class for interfacing with native Z3 objects. Should not be used externally.
Z3_param_kind GetKind(Symbol name)
Retrieve kind of parameter.
Symbols are used to name several term and type constructors.