STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Functions | Variables
Platform::Details Namespace Reference

Classes

struct  __abi_CaptureBase
 
struct  __abi_CapturePtr
 
struct  __abi_FunctorCapture
 
struct  __remove_hat
 
struct  __remove_hat< T^>
 
class  AgileHelper
 
struct  AgileTypeHelper
 
struct  array_helper
 
struct  array_helper< __TArg, false >
 
struct  array_helper< __TArg, true >
 
struct  BoxValueType
 
struct  BoxValueType< true >
 
class  CustomEnum
 
class  CustomValueType
 
struct  EventLock
 
struct  IsSame
 
struct  IsSame< __TArg, __TArg >
 
struct  RemoveConst
 
struct  RemoveConst< const __TArg >
 
struct  RemoveCV
 
struct  RemoveHat
 
struct  RemoveHat< T^>
 
struct  RemoveVolatile
 
struct  RemoveVolatile< volatile __TArg >
 
class  sealed
 

Functions

 __declspec (dllimport) IUnknown *__stdcall GetObjectContext()
 
template<typename T >
__declspec(dllimport) HRESULT __stdcall GetProxyImpl(__declspec(dllimport) HRESULT __stdcall ReleaseInContextImpl( __declspec (no_refcount) inline HRESULT GetProxy(T^ObjectIn
 
template<typename T >
HRESULT ReleaseInContext (T *ObjectIn,::IUnknown *ContextCallBack)
 
template<typename T >
EventLockGetStaticEventLock ()
 
template<typename __HighLevelType , unsigned int __dimension>
::Platform::Array< __HighLevelType, __dimension > __abi_array_attach (void *__src, unsigned int __size, bool __isFastPass, bool __needsInit)
 
template<typename __HighLevelType , unsigned int __dimension>
void __abi_array_copy_to_and_release (::Platform::Array< __HighLevelType, __dimension >^__arr, void **__dest, unsigned int *__size)
 
template<typename __LowLevelType , typename __HighLevelType , unsigned int __dimension>
__LowLevelType * __abi_array_to_raw (const ::Platform::Array< __HighLevelType, __dimension >^)
 
void CreateString (const ::default::char16 *__bufferArg, unsigned int __lengthArg, __abi_HSTRING *__destArg)
 
void CreateString (const ::default::char16 *__sourceStringArg, __abi_HSTRING *__destArg)
 
void DuplicateString (__abi_HSTRING __sourceArg, __abi_HSTRING *__destArg)
 
void CreateStringReference (const ::default::char16 *__sourceStringArg, unsigned int __lengthArg, __Platform_Details_HSTRING_HEADER *__hstringHeaderArg, __abi_HSTRING *__stringArg)
 
void __cdecl ReportUnhandledError (::Platform::Exception^)
 
__declspec(dllexport) long __stdcall ReCreateFromException(__declspec(dllexport) __declspec (dllexport) void *__stdcall GetIBoxArrayVtable(void *)
 
template<typename T >
 CustomBox (T value)
 
template<>
Platform::String ToStringInternal< true > ()
 
template<>
Platform::String ToStringInternal< false > ()
 
template<typename __HighLevelType , unsigned int __dimension>
 __declspec (no_refcount)
 

Variables

__declspec(dllimport) HRESULT __stdcall GetProxyImpl(__declspec(dllimport) HRESULT __stdcall ReleaseInContextImpl(::IUnknown * ContextCallBack
 
__declspec(dllimport) HRESULT __stdcall GetProxyImpl(__declspec(dllimport) HRESULT __stdcall ReleaseInContextImpl(::IUnknown T * Proxy
 
virtual property T Value
 
unsigned int
 

Function Documentation

template<typename __HighLevelType , unsigned int __dimension>
::Platform::Array<__HighLevelType, __dimension> Platform::Details::__abi_array_attach ( void __src,
unsigned int  __size,
bool  __isFastPass,
bool  __needsInit 
)
template<typename __HighLevelType , unsigned int __dimension>
void Platform::Details::__abi_array_copy_to_and_release ( ::Platform::Array< __HighLevelType, __dimension >^  __arr,
void **  __dest,
unsigned int __size 
)
2052  {
2053  if (__arrArg == nullptr)
2054  {
2055  *__destArg = nullptr;
2056  *__sizeArg = 0;
2057  return;
2058  }
2059 
2060  __HighLevelType **__destHigh = reinterpret_cast<__HighLevelType **>(__destArg);
2061  __arrArg->CopyToOrDetach(__destHigh, __sizeArg);
2062 
2063  // __arrArg is a local variable declared in a wrapper marked with no_refcount
2064  // This function is called from that function, have to release the Array^
2065  reinterpret_cast<__abi_IUnknown*>(static_cast< ::Platform::Object^>(__arrArg))->__abi_Release();
2066  // The caller will not use __arrArg after this function returns
2067  }
template<typename __LowLevelType , typename __HighLevelType , unsigned int __dimension>
__LowLevelType * Platform::Details::__abi_array_to_raw ( const ::Platform::Array< __HighLevelType, __dimension >^  __arrArg)
2073  {
2074  if (__arrArg == nullptr)
2075  {
2076  return nullptr;
2077  }
2078  return reinterpret_cast<__LowLevelType*>(__arrArg->Data);
2079  }
unsigned const void __int64 * Platform::Details::__declspec ( dllimport  )
template<typename T >
__declspec (dllimport) HRESULT __stdcall GetProxyImpl( __declspec (dllimport) HRESULT __stdcall ReleaseInContextImpl( Platform::Details::__declspec ( no_refcount  )
Platform::Details::__declspec ( dllexport  )
template<typename __HighLevelType , unsigned int __dimension>
Platform::Details::__declspec ( no_refcount  )
2027  {
2028  if (static_cast<unsigned int>(-1) / sizeof(__HighLevelType) < __elementcountArg)
2029  {
2030  __abi_WinRTraiseInvalidArgumentException();
2031  }
2032  auto __arr = ref new ::Platform::Array<__HighLevelType, __dimension>(nullptr, 0);
2033 
2034  if (__needsInitArg)
2035  {
2036  __Platform_memset(__srcArg, 0, sizeof(__HighLevelType) * __elementcountArg);
2037  }
2038  if (!__isFastPassArg)
2039  {
2040  __arr->Attach(reinterpret_cast<__HighLevelType*>(__srcArg), __elementcountArg);
2041  }
2042  else
2043  {
2044  __arr->AttachFastPass(reinterpret_cast<__HighLevelType*>(__srcArg), __elementcountArg);
2045  }
2046 
2047  return __arr;
2048  }
reference_wrapper< _Ty > ref(_Ty &_Val) _NOEXCEPT
Definition: type_traits:1839
void *__cdecl __Platform_memset(void *, int, size_t)
void Platform::Details::CreateString ( const ::default::char16 *  __bufferArg,
unsigned int  __lengthArg,
__abi_HSTRING __destArg 
)
inline
1198  {
1199  __abi_ThrowIfFailed( __Platform_WindowsCreateString((const ::default::char16 *)__bufferArg, __lengthArg, __destArg) );
1200  }
__declspec(non_user_code) __declspec(non_user_code) long __stdcall __Platform_WindowsCreateString(const ::default::char16 *, unsigned int, __abi_HSTRING *)
void __abi_ThrowIfFailed(long __hrArg)
Definition: vccorlib.h:96
void Platform::Details::CreateString ( const ::default::char16 *  __sourceStringArg,
__abi_HSTRING __destArg 
)
inline
1203  {
1204  __abi_ThrowIfFailed( __Platform_WindowsCreateString((const ::default::char16 *)__sourceStringArg, __sourceStringArg ? static_cast<unsigned int>(__Platform_wcslen((const ::default::char16 *)__sourceStringArg)) : 0u, __destArg) );
1205  }
__declspec(non_user_code) __declspec(non_user_code) long __stdcall __Platform_WindowsCreateString(const ::default::char16 *, unsigned int, __abi_HSTRING *)
size_t __cdecl __Platform_wcslen(const ::default::char16 *)
void __abi_ThrowIfFailed(long __hrArg)
Definition: vccorlib.h:96
void Platform::Details::CreateStringReference ( const ::default::char16 *  __sourceStringArg,
unsigned int  __lengthArg,
__Platform_Details_HSTRING_HEADER __hstringHeaderArg,
__abi_HSTRING __stringArg 
)
inline
1219  {
1220  __abi_ThrowIfFailed(__Platform_WindowsCreateStringReference(__sourceStringArg, __lengthArg, __hstringHeaderArg, __stringArg));
1221  }
long __stdcall __Platform_WindowsCreateStringReference(const ::default::char16 *, unsigned int, __Platform_Details_HSTRING_HEADER *, __abi_HSTRING *)
void __abi_ThrowIfFailed(long __hrArg)
Definition: vccorlib.h:96
template<typename T >
Platform::Details::CustomBox ( value)
sealed
1415  : value_(value)
1416  {
1417  *reinterpret_cast<void**>(static_cast< ::Platform::IValueType^>(this)) =
1418  GetIBoxVtable(reinterpret_cast<void*>(static_cast< ::Platform::IBox<T>^>(this)));
1419  }
void Platform::Details::DuplicateString ( __abi_HSTRING  __sourceArg,
__abi_HSTRING __destArg 
)
inline
1208  {
1209  if (__sourceArg == nullptr)
1210  {
1211  *__destArg = __sourceArg;
1212  return;
1213  }
1214 
1215  __abi_ThrowIfFailed( __Platform_WindowsDuplicateString(__sourceArg, __destArg) );
1216  }
void __abi_ThrowIfFailed(long __hrArg)
Definition: vccorlib.h:96
long __stdcall __Platform_WindowsDuplicateString(__abi_HSTRING, __abi_HSTRING *)
template<typename T >
EventLock* Platform::Details::GetStaticEventLock ( )
318  {
319  static EventLock __eventLock = { nullptr, nullptr };
320  return &__eventLock;
321  }
template<typename T >
HRESULT Platform::Details::ReleaseInContext ( T *  ObjectIn,
::IUnknown *  ContextCallBack 
)
inline
38  {
39  return ReleaseInContextImpl(ObjectIn, ContextCallBack);
40  }
__declspec(dllimport) HRESULT __stdcall GetProxyImpl(__declspec(dllimport) HRESULT __stdcall ReleaseInContextImpl(::IUnknown * ContextCallBack
Definition: agile.h:31
void __cdecl Platform::Details::ReportUnhandledError ( ::Platform::Exception^  )
template<>
Platform::String Platform::Details::ToStringInternal< false > ( )
1451  {
1452  return ::__abi_details::__abi_ObjectToString(this, false);
1453  }
template<>
Platform::String Platform::Details::ToStringInternal< true > ( )
1440  {
1441  String^ s = ::__abi_CustomToString(&value_);
1442  if (s)
1443  {
1444  return s;
1445  }
1446  return T::typeid->FullName;
1447  }
__declspec(dllimport) Platform::String __abi_CustomToString(void *)
Definition: vccorlib.h:1390

Variable Documentation

__declspec (dllimport) HRESULT __stdcall GetProxyImpl( __declspec (dllimport) HRESULT __stdcall ReleaseInContextImpl( ::IUnknown* Platform::Details::ContextCallBack
unsigned Platform::Details::int
__declspec (dllimport) HRESULT __stdcall GetProxyImpl( __declspec (dllimport) HRESULT __stdcall ReleaseInContextImpl( ::IUnknown T* Platform::Details::Proxy
Initial value:
{
return GetProxyImpl(*reinterpret_cast<IUnknown**>(&ObjectIn), __uuidof(T^) , ContextCallBack, reinterpret_cast< ::IUnknown**>(Proxy))
__declspec(dllimport) HRESULT __stdcall GetProxyImpl(__declspec(dllimport) HRESULT __stdcall ReleaseInContextImpl(::IUnknown * ContextCallBack
Definition: agile.h:31
__declspec(dllimport) HRESULT __stdcall GetProxyImpl(__declspec(dllimport) HRESULT __stdcall ReleaseInContextImpl(::IUnknown T * Proxy
Definition: agile.h:32
virtual property T Platform::Details::Value
Initial value:
{
T get()
{
return value_;
}
}
virtual Platform::String^ ToString()
{
return ToStringInternal<__is_enum(T)>();
}
private:
template<bool isEnum>
Platform::String^ ToStringInternal()