2019-09-05 01:57:56 +03:00
|
|
|
// xfacet internal header
|
|
|
|
|
|
|
|
// Copyright (c) Microsoft Corporation.
|
|
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
|
2023-04-07 21:44:15 +03:00
|
|
|
// This header is used to compile the import library (via locale0_implib.cpp => locale0.cpp => xfacet).
|
|
|
|
// MAJOR LIMITATIONS apply to what can be included here!
|
|
|
|
// Before editing this file, read: /docs/import_library.md
|
|
|
|
|
2019-09-05 01:57:56 +03:00
|
|
|
#ifndef _XFACET_
|
|
|
|
#define _XFACET_
|
|
|
|
#include <yvals.h>
|
|
|
|
#if _STL_COMPILER_PREPROCESSOR
|
|
|
|
|
|
|
|
#pragma pack(push, _CRT_PACKING)
|
|
|
|
#pragma warning(push, _STL_WARNING_LEVEL)
|
|
|
|
#pragma warning(disable : _STL_DISABLED_WARNINGS)
|
|
|
|
_STL_DISABLE_CLANG_WARNINGS
|
|
|
|
#pragma push_macro("new")
|
|
|
|
#undef new
|
|
|
|
|
|
|
|
_STD_BEGIN
|
2022-09-20 00:47:02 +03:00
|
|
|
extern "C++" class _CRTIMP2_PURE_IMPORT _Facet_base { // code for reference counting a facet
|
2019-09-05 01:57:56 +03:00
|
|
|
public:
|
2020-05-15 01:58:54 +03:00
|
|
|
virtual __CLR_OR_THIS_CALL ~_Facet_base() noexcept {} // ensure that derived classes can be destroyed properly
|
2019-09-05 01:57:56 +03:00
|
|
|
|
|
|
|
// increment use count
|
|
|
|
virtual void __CLR_OR_THIS_CALL _Incref() noexcept = 0;
|
|
|
|
|
|
|
|
// decrement use count
|
|
|
|
virtual _Facet_base* __CLR_OR_THIS_CALL _Decref() noexcept = 0;
|
|
|
|
};
|
|
|
|
|
|
|
|
#if defined(_M_CEE)
|
|
|
|
void __CLRCALL_OR_CDECL _Facet_Register_m(_Facet_base*);
|
2023-08-11 02:48:21 +03:00
|
|
|
#else // ^^^ defined(_M_CEE) / !defined(_M_CEE) vvv
|
2022-09-20 00:47:02 +03:00
|
|
|
extern "C++" void __CLRCALL_OR_CDECL _Facet_Register(_Facet_base*);
|
2023-08-11 02:48:21 +03:00
|
|
|
#endif // ^^^ !defined(_M_CEE) ^^^
|
2019-09-05 01:57:56 +03:00
|
|
|
_STD_END
|
|
|
|
#pragma pop_macro("new")
|
|
|
|
_STL_RESTORE_CLANG_WARNINGS
|
|
|
|
#pragma warning(pop)
|
|
|
|
#pragma pack(pop)
|
|
|
|
#endif // _STL_COMPILER_PREPROCESSOR
|
|
|
|
#endif // _XFACET_
|