/*++
Copyright (c) 2012 Microsoft Corporation
Module Name:
Version.cs
Abstract:
Z3 Managed API: Version information
Author:
Christoph Wintersteiger (cwinter) 2012-03-16
Notes:
--*/
using System;
using System.Diagnostics.Contracts;
namespace Microsoft.Z3
{
///
/// Version information.
///
/// Note that this class is static.
[ContractVerification(true)]
public static class Version
{
static Version() { }
///
/// The major version
///
public static uint Major
{
get
{
uint major = 0, minor = 0, build = 0, revision = 0;
Native.Z3_get_version(ref major, ref minor, ref build, ref revision);
return major;
}
}
///
/// The minor version
///
public static uint Minor
{
get
{
uint major = 0, minor = 0, build = 0, revision = 0;
Native.Z3_get_version(ref major, ref minor, ref build, ref revision);
return minor;
}
}
///
/// The build version
///
public static uint Build
{
get
{
uint major = 0, minor = 0, build = 0, revision = 0;
Native.Z3_get_version(ref major, ref minor, ref build, ref revision);
return build;
}
}
///
/// The revision
///
public static uint Revision
{
get
{
uint major = 0, minor = 0, build = 0, revision = 0;
Native.Z3_get_version(ref major, ref minor, ref build, ref revision);
return revision;
}
}
///
/// A string representation of the version information.
///
new public static string ToString()
{
Contract.Ensures(Contract.Result() != null);
uint major = 0, minor = 0, build = 0, revision = 0;
Native.Z3_get_version(ref major, ref minor, ref build, ref revision);
return major.ToString() + "." + minor.ToString() + "." + build.ToString() + "." + revision.ToString();
}
}
}