Beef Corlib
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Properties | List of all members
System.Variant Struct Reference
Inheritance diagram for System.Variant:
System.IDisposable

Public Types

enum  ObjectType { UnownedObject, OwnedObject, NullObject }
 
enum  StructFlag { InternalValue, OwnedPtr, ExternalPtr }
 

Public Member Functions

void Dispose ()
 
void EnsureReference ()
 
Get< T > ()
 
Get< T > ()
 
Get< T > ()
 
Result< ObjectGetBoxed ()
 
void CopyValueData (void *dest)
 
void * GetValueData ()
 

Static Public Member Functions

static Variant Create< T > (T val, bool owns=false)
 
static Variant Create< T > (T val)
 
static Variant Create< T > (T val)
 
static Variant Create< T > (ref T val)
 
static Variant CreateOwned< T > (T val)
 
static Variant Create (Type type, void *val)
 
static Variant CreateReference (Type type, void *val)
 
static void * Alloc (Type type, out Variant variant)
 
static void * AllocOwned (Type type, out Variant variant)
 
static bool operator== (Variant v1, Variant v2)
 
static mixin Equals< T > (var v1, var v2)
 
static Variant CreateFromVariant (Variant varFrom)
 
static Variant CreateFromVariantRef (ref Variant varFrom)
 
static Result< VariantCreateFromBoxed (Object objectFrom)
 

Public Attributes

int mStructType
 
int mData
 

Protected Member Functions

override void GCMarkMembers ()
 

Properties

bool OwnsMemory [get]
 
bool IsObject [get]
 
bool IsValueType [get]
 
Type VariantType [get]
 
bool HasValue [get]
 
void * DataPtr [get]