mirror of
https://github.com/Halofreak1990/XFXFramework
synced 2024-12-26 13:49:34 +01:00
189 lines
4.8 KiB
C++
189 lines
4.8 KiB
C++
/*****************************************************************************
|
|
* Enums.h *
|
|
* Defines enumerations used in the System namespace *
|
|
* *
|
|
* Enumerations are defined inside structs to prevent *
|
|
* namespace pollution, and easier distinction. *
|
|
* *
|
|
* Copyright (c) XFX Team. All rights reserved. *
|
|
*****************************************************************************/
|
|
#ifndef _SYSTEM_ENUMS_
|
|
#define _SYSTEM_ENUMS_
|
|
|
|
namespace System
|
|
{
|
|
// Specifies whether a System::DateTime object represents a local time, a Coordinated Universal Time (UTC), or is
|
|
// not specified as either local time or UTC.
|
|
struct DateTimeKind
|
|
{
|
|
enum type
|
|
{
|
|
Local = 2,
|
|
Unspecified = 0,
|
|
Utc = 1
|
|
};
|
|
};
|
|
|
|
// Specifies the day of the week.
|
|
struct DayOfWeek
|
|
{
|
|
enum type
|
|
{
|
|
Friday = 5,
|
|
Monday = 1,
|
|
Saturday = 6,
|
|
Sunday = 0,
|
|
Thursday = 4,
|
|
Tuesday = 2,
|
|
Wednesday = 3
|
|
};
|
|
};
|
|
|
|
// Specifies how mathematical rounding methods should process a number that is midway between two numbers.
|
|
struct MidpointRounding
|
|
{
|
|
enum type
|
|
{
|
|
/**
|
|
* When a number is halfway between two others, it is rounded toward the nearest even number.
|
|
*/
|
|
ToEven,
|
|
/**
|
|
* When a number is halfway between two others, it is rounded toward the nearest number that is away from zero.
|
|
*/
|
|
AwayFromZero
|
|
};
|
|
};
|
|
|
|
// Identifies the operating system, or platform, supported by an assembly.
|
|
struct PlatformID
|
|
{
|
|
enum type
|
|
{
|
|
MacOSX = 6,
|
|
Unix = 4,
|
|
Win32S = 0,
|
|
Win32Windows = 1,
|
|
WinCE = 3,
|
|
Xbox = 5
|
|
};
|
|
};
|
|
|
|
// Specifies the culture, case, and sort rules to be used by certain overloads
|
|
// of the String::Compare(String,String) and String::Equals(System.Object) methods.
|
|
struct StringComparison
|
|
{
|
|
enum type
|
|
{
|
|
CurrentCulture,
|
|
CurrentCultureIgnoreCase,
|
|
InvariantCulture,
|
|
InvariantCultureIgnoreCase,
|
|
Ordinal,
|
|
OrdinalIgnoreCase
|
|
};
|
|
};
|
|
|
|
// Specifies whether applicable Overload:String::Split method overloads include or omit empty substrings from the return value.
|
|
struct StringSplitOptions
|
|
{
|
|
enum type
|
|
{
|
|
None,
|
|
RemoveEmptyEntries
|
|
};
|
|
};
|
|
|
|
/**
|
|
* Specifies the type of an object.
|
|
*/
|
|
struct TypeCode
|
|
{
|
|
enum type
|
|
{
|
|
/**
|
|
* A null reference.
|
|
*/
|
|
Empty,
|
|
/**
|
|
* A general type representing any reference or value type not explicitly represented by another TypeCode.
|
|
*/
|
|
Object,
|
|
/**
|
|
* A database null (column) value.
|
|
*/
|
|
DBNull,
|
|
/**
|
|
* A simple type representing Boolean values of true or false.
|
|
*/
|
|
Boolean,
|
|
/**
|
|
* An integral type representing unsigned 8-bit integers with values between 0 and 255. The set of possible values for the System::TypeCode::Char type corresponds to the ASCII character set.
|
|
*/
|
|
Char,
|
|
/**
|
|
* An integral type representing signed 8-bit integers with values between -128 and 127.
|
|
*/
|
|
SByte,
|
|
/**
|
|
* An integral type representing unsigned 8-bit integers with values between 0 and 255.
|
|
*/
|
|
Byte,
|
|
/**
|
|
* An integral type representing signed 16-bit integers with values between -32768 and 32767.
|
|
*/
|
|
Int16,
|
|
/**
|
|
* An integral type representing unsigned 16-bit integers with values between 0 and 65535.
|
|
*/
|
|
UInt16,
|
|
/**
|
|
* An integral type representing signed 32-bit integers with values between -2147483648 and 2147483647.
|
|
*/
|
|
Int32,
|
|
/**
|
|
* An integral type representing unsigned 32-bit integers with values between 0 and 4294967295.
|
|
*/
|
|
UInt32,
|
|
/**
|
|
* An integral type representing signed 64-bit integers with values between -9223372036854775808 and 9223372036854775807.
|
|
*/
|
|
Int64,
|
|
/**
|
|
* An integral type representing unsigned 64-bit integers with values between 0 and 18446744073709551615.
|
|
*/
|
|
UInt64,
|
|
/**
|
|
* A floating point type representing values ranging from approximately 1.5 x 10 -45 to 3.4 x 10 38 with a precision of 7 digits.
|
|
*/
|
|
Single,
|
|
/**
|
|
* A floating point type representing values ranging from approximately 5.0 x 10 -324 to 1.7 x 10 308 with a precision of 15-16 digits.
|
|
*/
|
|
Double,
|
|
/**
|
|
* A simple type representing values ranging from 1.0 x 10 -28 to approximately 7.9 x 10 28 with 28-29 significant digits.
|
|
*/
|
|
Decimal,
|
|
/**
|
|
* A type representing a date and time value.
|
|
*/
|
|
DateTime = 16,
|
|
/**
|
|
* A sealed class type representing ASCII character strings.
|
|
*/
|
|
String = 18,
|
|
};
|
|
};
|
|
|
|
typedef DateTimeKind::type DateTimeKind_t;
|
|
typedef DayOfWeek::type DayOfWeek_t;
|
|
typedef MidpointRounding::type MidpointRounding_t;
|
|
typedef PlatformID::type PlatformID_t;
|
|
typedef StringComparison::type StringComparison_t;
|
|
typedef StringSplitOptions::type StringSplitOptions_t;
|
|
typedef TypeCode::type TypeCode_t;
|
|
}
|
|
|
|
#endif //_SYSTEM_ENUMS_
|