OracleIntervalYM構造は、データベースに格納されるか、またはデータベースから取得されるOracle INTERVAL YEAR TO MONTHデータ型を表します。それぞれのOracleIntervalYMには、年および月で表した期間が格納されます。
クラスの継承
System.Object
System.ValueType
Oracle.DataAccess.Types.OracleIntervalYM
宣言
// C# public struct OracleIntervalYM : IComparable
スレッド安全性
パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。
例
// C#
using System;
using Oracle.DataAccess.Types;
class OracleIntervalYMSample
{
static void Main()
{
OracleIntervalYM iYMMax = OracleIntervalYM.MaxValue;
double totalYears = iYMMax.TotalYears;
totalYears -= 1;
OracleIntervalYM iYMMax_1 = new OracleIntervalYM(totalYears);
// Calculate the difference
OracleIntervalYM iYMDiff = iYMMax - iYMMax_1;
// Prints "iYMDiff.ToString() = +000000001-00"
Console.WriteLine("iYMDiff.ToString() = " + iYMDiff.ToString());
}
}
要件
ネームスペース: Oracle.DataAccess.Types
アセンブリ: Oracle.DataAccess.dll
ODP.NETのバージョン: ODP.NET for .NET Framework 2.0またはODP.NET for .NET Framework 4
OracleIntervalYMメンバーは、次の各表にリストしています。
OracleIntervalYMコンストラクタ
OracleIntervalYMコンストラクタを、表14-61にリストします。
OracleIntervalYM静的フィールド
OracleIntervalYM静的フィールドを、表14-62にリストします。
表14-62 OracleIntervalYM静的フィールド
| フィールド | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
OracleIntervalYM静的メソッド
OracleIntervalYM静的メソッドを、表14-63にリストします。
表14-63 OracleIntervalYM静的メソッド
| メソッド | 説明 |
|---|---|
|
2つの |
|
|
一方の |
|
|
一方の |
|
|
一方の |
|
|
一方の |
|
|
2つの |
|
|
|
|
|
指定された年精度が含まれた |
OracleIntervalYM静的演算子
OracleIntervalYM静的演算子を、表14-64にリストします。
表14-64 OracleIntervalYM静的演算子
| 演算子 | 説明 |
|---|---|
|
2つの |
|
|
2つの |
|
|
一方の |
|
|
一方の |
|
|
2つの |
|
|
一方の |
|
|
一方の |
|
|
一方の |
|
|
|
|
|
|
|
|
|
OracleIntervalYM型変換
OracleIntervalYM変換を、表14-65にリストします。
表14-65 OracleIntervalYM型変換
| 演算子 | 説明 |
|---|---|
|
|
|
|
文字列を |
|
|
月数を |
OracleIntervalYMプロパティ
OracleIntervalYMプロパティを、表14-66にリストします。
表14-66 OracleIntervalYMプロパティ
| プロパティ | 説明 |
|---|---|
|
Oracle |
|
|
現行インスタンスにNULL値があるかどうかを示します |
|
|
|
|
|
現行の |
|
|
|
|
|
|
OracleIntervalYMメソッド
OracleIntervalYMメソッドを、表14-67にリストします。
OracleIntervalYMコンストラクタでは、OracleIntervalYM構造の新規インスタンスが作成されます。
オーバーロード・リスト:
このメソッドでは、指定された一定期間の合計月数を使用して、OracleIntervalYM構造の新規インスタンスが作成されます。
このメソッドでは、OracleIntervalYM構造の新規インスタンスが作成され、指定された文字列を使用して値が設定されます。
このメソッドでは、OracleIntervalYM構造の新規インスタンスが作成され、合計年数を使用して値が設定されます。
このメソッドでは、OracleIntervalYM構造の新規インスタンスが作成され、年と月を使用して値が設定されます。
このメソッドでは、OracleIntervalYM構造の新規インスタンスが作成され、値は指定されたバイト配列に設定されます。この値は、内部Oracle INTERVAL DAY TO SECOND書式で表されます。
このメソッドでは、指定された一定期間の合計月数を使用して、OracleIntervalYM構造の新規インスタンスが作成されます。
宣言
// C#
public OracleIntervalYM (long totalMonths);
パラメータ
totalMonths
間隔における合計月数です。範囲は、-12,000,000,000 < totalMonths < 12,000,000,000です。
例外
ArgumentOutOfRangeException - totalMonthsパラメータが指定範囲を超えています。
このメソッドでは、OracleIntervalYM構造の新規インスタンスが作成され、指定された文字列を使用して値が設定されます。
宣言
// C#
public OracleIntervalYM (string intervalStr);
パラメータ
intervalStr
Oracle INTERVAL YEAR TO MONTHを表した文字列
備考
指定されたintervalStrの値は、年-月の書式で表されている必要があります。
例外
ArgumentException - intervalStrパラメータの書式が有効でないか、またはintervalStrに無効な値が含まれます。
ArgumentNullException - intervalStrパラメータがNULLです。
例
"1-2"は、1年と2か月を意味します。
このメソッドでは、OracleIntervalYM構造の新規インスタンスが作成され、合計年数を使用して値が設定されます。
宣言
// C#
public OracleIntervalYM (double totalYears);
パラメータ
totalYears
合計年数です。範囲は、-1,000,000,000 < totalYears > 1,000,000,000です。
例外
ArgumentOutOfRangeException - totalYearsパラメータが指定範囲を超えています。
ArgumentException - totalYearsパラメータは、有効なOracleIntervalYMの構成に使用できません。
このメソッドでは、OracleIntervalYM構造の新規インスタンスが作成され、年と月を使用して値が設定されます。
宣言
// C# public OracleIntervalYM (int years, int months);
パラメータ
years
年数です。年の範囲は(-999,999,999から999,999,999)です。
months
月数です。月の範囲は(-11から11)です。
備考
すべての引数の記号が同じである必要があります。
例外
ArgumentOutOfRangeException - 1つ以上のパラメータの引数が、指定範囲を超えています。
ArgumentException - パラメータの引数値は、有効なOracleIntervalYMの構成に使用できません。
このメソッドでは、OracleIntervalYM構造の新規インスタンスが作成され、値は指定されたバイト配列に設定されます。この値は、内部Oracle INTERVAL DAY TO SECOND書式で表されます。
宣言
// C#
public OracleIntervalYM (byte[] bytes);
パラメータ
bytes
内部Oracle INTERVAL YEAR TO MONTH書式で表したバイト配列です。
例外
ArgumentException - 指定されたバイト配列が内部Oracle INTERVAL YEAR TO MONTH書式で表されていないか、または指定されたバイト配列に無効な値が含まれます。
ArgumentNullException - bytesがNULLです。
備考
指定されたバイト配列は、内部Oracle INTERVAL YEAR TO MONTH書式で表されている必要があります。
OracleIntervalYM静的フィールドを、表14-68にリストします。
表14-68 OracleIntervalYM静的フィールド
| フィールド | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
この静的フィールドは、OracleIntervalYM構造の最大値を表します。
宣言
// C# public static readonly OracleIntervalYM MaxValue;
備考
年は999999999で、月は11です。
この静的フィールドは、OracleIntervalYM構造の最小値を表します。
宣言
// C# public static readonly OracleIntervalYM MinValue;
備考
年は-999999999で、月は-11です。
この静的フィールドは、OracleIntervalYMインスタンスに割り当てることができるNULL値を表します。
宣言
// C# public static readonly OracleIntervalYM Null;
OracleIntervalYM静的メソッドを、表14-69にリストします。
表14-69 OracleIntervalYM静的メソッド
| メソッド | 説明 |
|---|---|
|
2つの |
|
|
一方の |
|
|
一方の |
|
|
一方の |
|
|
一方の |
|
|
2つの |
|
|
|
|
|
指定された年精度が含まれた |
この静的メソッドでは、2つのOracleIntervalYM値が等しいかどうかが判断されます。
宣言
// C# public static bool Equals(OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
OracleIntervalYM構造
val2
OracleIntervalYM構造
戻り値
2つのOracleIntervalYMの値が同じ間隔を表す場合はtrueを戻し、それ以外の場合はfalseを戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
この静的メソッドでは、2つのOracleIntervalYM値の最初の値が2番目の値より大きいかどうかが判断されます。
宣言
// C# public static bool GreaterThan(OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
2つのOracleIntervalYM値の最初の値が2番目の値より大きい場合はtrueを戻し、それ以外の場合はfalseを戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
この静的メソッドでは、2つのOracleIntervalYM値の最初の値が2番目の値以上かどうかが判断されます。
宣言
// C# public static bool GreaterThanOrEqual(OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
2つのOracleIntervalYM値の最初の値が2番目の値以上である場合はtrueを戻し、それ以外の場合はfalseを戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
この静的メソッドでは、2つのOracleIntervalYM値の最初の値が2番目の値未満かどうかが判断されます。
宣言
// C# public static bool LessThan(OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
2つのOracleIntervalYM値の最初の値が2番目の値未満である場合はtrueを戻し、それ以外の場合はfalseを戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
この静的メソッドでは、2つのOracleIntervalYM値の最初の値が2番目の値以下かどうかが判断されます。
宣言
// C# public static bool LessThanOrEqual(OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
2つのOracleIntervalYMのうち、最初の値が2番目の値以下である場合は、trueを戻します。それ以外の場合はfalseを戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
この静的メソッドでは、2つのOracleIntervalYM値が等しくないかどうかが判断されます。
宣言
// C# public static bool NotEquals(OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
2つのOracleIntervalYM値が等しくない場合はtrueが戻されます。それ以外の場合はfalseを戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
この静的メソッドでは、OracleIntervalYM構造が戻され、文字列を使用して間隔の値が設定されます。
宣言
// C#
public static OracleIntervalYM Parse (string intervalStr);
パラメータ
intervalStr
Oracle INTERVAL YEAR TO MONTHを表した文字列
戻り値
OracleIntervalYM構造が戻されます。
例外
ArgumentException - intervalStrパラメータの書式が有効でないか、またはintervalStrに無効な値が含まれます。
ArgumentNullException - intervalStrパラメータがNULLです。
備考
指定されたintervalStrの値は、年-月の書式で表されている必要があります。
例
"1-2"は、1年と2か月を意味します。
この静的メソッドでは、指定された年精度が含まれた、OracleIntervalYMの新規インスタンスが戻されます。
宣言
// C# public static OracleIntervalYM SetPrecision(OracleIntervalYM value1, int yearPrecision);
パラメータ
value1
OracleIntervalYM構造
yearPrecision
指定された年精度。年精度の範囲は(0から9)です。
戻り値
OracleIntervalDSインスタンス
例外
ArgumentOutOfRangeException - yearPrecisionが指定範囲を超えています。
備考
指定されたyearPrecisionの値に応じて、ToString()により戻された文字列に、0個以上の先行0(ゼロ)が表示されます。
例
SetPrecision()がコールされ、年精度が3に設定されている場合、"1-2"の値が指定されたOracleIntervalYMは、文字列"001-2"となります。
OracleIntervalYM静的演算子を、表14-70にリストします。
表14-70 OracleIntervalYM静的演算子
| 演算子 | 説明 |
|---|---|
|
2つの |
|
|
2つの |
|
|
一方の |
|
|
一方の |
|
|
2つの |
|
|
一方の |
|
|
一方の |
|
|
一方の |
|
|
|
|
|
|
|
|
|
この静的演算子では、2つのOracleIntervalYM値が加算されます。
宣言
// C# public static OracleIntervalYM operator + (OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
OracleIntervalYM
備考
引数のいずれかにNULL値がある場合、戻されたOracleIntervalYM構造にはNULL値があります。
この静的演算子では、2つのOracleIntervalYM値が等しいかどうかが判断されます。
宣言
// C# public static bool operator == (OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
等しい場合はtrueを戻し、それ以外の場合はfalseを戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
この静的演算子では、2つのOracleIntervalYM値の最初の値が2番目の値より大きいかどうかが判断されます。
宣言
// C# public static bool operator > (OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
一方のOracleIntervalYM値がもう一方の値より大きい場合はtrueを戻し、それ以外の場合はfalseを戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
この静的演算子では、2つのOracleIntervalYM値の最初の値が2番目の値以上かどうかが判断されます。
宣言
// C# public static bool operator >= (OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
一方のOracleIntervalYM値がもう一方の値以上である場合はtrueを戻し、それ以外の場合はfalseを戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
この静的演算子では、2つのOracleIntervalYM値が等しくないかどうかが判断されます。
宣言
// C# public static bool operator != (OracleIntervalYM val1, OracleIntervalYM val2)
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
2つのOracleIntervalYM値が等しくない場合はtrueを戻し、等しい場合はfalseを戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
この静的演算子では、2つのOracleIntervalYM値の最初の値が2番目の値未満かどうかが判断されます。
宣言
// C# public static bool operator < (OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
2つのOracleIntervalYM値の最初の値が2番目の値未満である場合はtrueを戻し、それ以外の場合はfalseを戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
この静的演算子では、2つのOracleIntervalYM値の最初の値が2番目の値以下かどうかが判断されます。
宣言
// C# public static bool operator <= (OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
2つのOracleIntervalYM値の最初の値が2番目の値以下である場合はtrueを戻し、それ以外の場合はfalseを戻します。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
この静的演算子では、一方のOracleIntervalYM構造がもう一方の構造から差し引かれます。
宣言
// C# public static OracleIntervalYM operator - (OracleIntervalYM val1, OracleIntervalYM val2);
パラメータ
val1
最初のOracleIntervalYM
val2
2番目のOracleIntervalYM
戻り値
OracleIntervalYM構造
備考
引数のいずれかにNULL値がある場合、戻されたOracleIntervalYM構造にはNULL値があります。
この静的演算子では、OracleIntervalYM構造が否定されます。
宣言
// C#
public static OracleIntervalYM operator - (OracleIntervalYM val);
パラメータ
val
OracleIntervalYM
戻り値
OracleIntervalYM構造
備考
指定したOracleIntervalYM構造にNULL値がある場合、戻されたOracleIntervalYM構造にはNULL値があります。
この静的演算子では、OracleIntervalYM値に数値が掛け合せられます。
宣言
// C# public static OracleIntervalYM operator * (OracleIntervalYM val1, int multiplier);
パラメータ
val1
最初のOracleIntervalYM
multiplier
乗数
戻り値
OracleIntervalYM構造
備考
指定したOracleIntervalYM構造にNULL値がある場合、戻されたOracleIntervalYM構造にはNULL値があります。
OracleIntervalYM変換を、表14-71にリストします。
表14-71 OracleIntervalYM型変換
| 演算子 | 説明 |
|---|---|
|
|
|
|
文字列を |
|
|
月数を |
この型変換演算子では、OracleIntervalYMが、間隔における月数を表す数値に変換されます。
宣言
// C#
public static explicit operator long (OracleIntervalYM val);
パラメータ
val
OracleIntervalYM構造
戻り値
月のlong数
例外
OracleNullValueException - OracleIntervalYM構造にNULL値があります。
この型変換演算子では、文字列intervalStrがOracleIntervalYM構造に変換されます。
宣言
// C#
public static explicit operator OracleIntervalYM (string intervalStr);
パラメータ
intervalStr
Oracle INTERVAL YEAR TO MONTHの文字列表現
戻り値
OracleIntervalYM構造
例外
ArgumentException - 指定されたintervalStrパラメータの書式が正しくないか、または無効な値が含まれます。
ArgumentNullException - intervalStrパラメータがNULLです。
備考
戻されたOracleIntervalDS構造には、指定されたintervalStrで表されているのと同じ間隔が含まれます。指定されたintervalStrの値は、年-月の書式で表されている必要があります。
この型変換演算子では、間隔としての合計月数がOracleIntervalYM構造に変換されます。
宣言
// C#
public static implicit operator OracleIntervalYM (long months);
パラメータ
months
変換される月数。範囲は、(-999,999,999 * 12)-11 <= months <=(999,999,999 * 12)+11です。
戻り値
OracleIntervalYM構造
例外
ArgumentOutOfRangeException - monthsパラメータが指定範囲を超えています。
OracleIntervalYMプロパティを、表14-72にリストします。
表14-72 OracleIntervalYMプロパティ
| プロパティ | 説明 |
|---|---|
|
Oracle |
|
|
現行インスタンスにNULL値があるかどうかを示します |
|
|
|
|
|
現行の |
|
|
|
|
|
|
このプロパティでは、Oracle INTERVAL YEAR TO MONTHをOracle内部書式で表したバイト配列が戻されます。
宣言
// C#
public byte[] BinData {get;}
プロパティ値
Oracle INTERVAL YEAR TO MONTHをOracle内部書式で表したバイト配列です。
例外
OracleNullValueException - 現行インスタンスにはNULL値があります。
このプロパティは値にNULL値があるかどうかを示します。
宣言
// C#
public bool IsNull {get;}
プロパティ値
値にNULL値がある場合はtrueを戻し、NULL値がない場合はfalseを戻します。
このプロパティでは、OracleIntervalYMの月コンポーネントが取得されます。
宣言
// C#
public int Months {get;}
プロパティ値
月コンポーネントを表すint
例外
OracleNullValueException - 現行インスタンスにはNULL値があります。
このプロパティでは、現行のOracleIntervalYM構造の期間を表します。合計年数が戻されます。
宣言
// C#
public double TotalYears {get;}
プロパティ値
合計年数を表すdouble。
例外
OracleNullValueException - 現行インスタンスにはNULL値があります。
このプロパティでは、OracleIntervalYM構造に格納されている合計月数が取得されます。
宣言
// C#
public long Value {get;}
プロパティ値
間隔を表します。合計月数です。
例外
OracleNullValueException - 現行インスタンスにはNULL値があります。
OracleIntervalYMメソッドを、表14-73にリストします。
表14-73 OracleIntervalYMメソッド
| メソッド | 説明 |
|---|---|
|
現行の |
|
|
指定された |
|
|
|
|
|
GetType |
|
|
現行の |
このメソッドでは、現行のOracleIntervalYMインスタンスが指定オブジェクトと比較され、相対値を表す整数が戻されます。
宣言
// C#
public int CompareTo(object obj);
パラメータ
obj
指定されたオブジェクト
戻り値
このメソッドでは次の数値が戻されます。
ゼロ未満:現行のOracleIntervalYMがobjより短い間隔を表す場合
ゼロ:現行のOracleIntervalYMおよびobjが同じ間隔を表す場合
ゼロ超過:現行のOracleIntervalYMがobjより長い間隔を表す場合
実装
IComparable
例外
ArgumentException - objパラメータの型がOracleIntervalYMではありません。
備考
次のルールが、このメソッドの動作に適用されます。
比較はOracleIntervalYM間で行う必要があります。たとえば、OracleIntervalYMインスタンスとOracleBinaryインスタンスを比較することはできません。OracleIntervalYMが別の型と比較された場合、ArgumentExceptionが表示されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
Objectをオーバーライドします。
このメソッドでは、指定されたobjectの間隔が現行インスタンスと同じかどうかが判断されます。
宣言
// C# public overridebool Equals(objectobj);
パラメータ
obj
指定されたオブジェクト
戻り値
指定されたオブジェクト・インスタンスの型がOracleIntervalYMであり、同じ間隔である場合はtrueが戻されます。それ以外の場合はfalseが戻されます。
備考
次のルールが、このメソッドの動作に適用されます。
値を持つすべてのOracleIntervalYMは、NULL値を持つOracleIntervalYMより大きい値とみなされます。
NULL値を含む2つのOracleIntervalYMは等しくなります。
Objectをオーバーライドします。
このメソッドでは、OracleIntervalYMインスタンスのハッシュ・コードが戻されます。
宣言
// C# public override int GetHashCode();
戻り値
ハッシュ・コードを表すint