C++/WinRT 명명 규칙
C++/WinRT에서 확정한 명명 규칙은 다음과 같습니다.
- winrt::impl 네임스페이스는 C++/WinRT용으로 예약되어 있으며, 애플리케이션에서 사용하면 안 됩니다.
- winrt 네임스페이스에서 소문자로 시작하는 이름은 C++/WinRT에 속하지만 애플리케이션에서 사용할 수 있습니다. 설명서에서는 오버로드하거나 특수화할 수 있는 이름을 호출합니다. 예를 들어 애플리케이션에서 winrt::is_guid_of 함수 템플릿을 특수화할 수 있습니다.
- winrt 네임스페이스의 하위 네임스페이스(winrt::impl 제외)에서 대문자로 시작하는 이름은 애플리케이션에서 사용할 수 있습니다.
- 모든 네임스페이스에서 WINRT_IMPL_로 시작하는 이름은 C++/WinRT용으로 예약되어 있으며, 애플리케이션에서 사용하면 안 됩니다.
- 모든 네임스페이스에서 WINRT_로 시작하는 이름(WINRT_IMPL_로 시작하는 이름 제외)은 C++/WinRT용으로 예약되어 있습니다. 이러한 이름은 사용할 수 있으며, 설명서에서는 애플리케이션에서 정의할 수 있는 이름(예: WINRT_LEAN_AND_MEAN)을 호출합니다.
일반적으로 애플리케이션에서 네임스페이스 컴퍼지션을 수행하고 winrt 루트 네임스페이스의 하위 네임스페이스를 winrt 루트 네임스페이스로 가져옵니다.
namespace winrt
{
using namespace winrt::Windows::Foundation;
}
따라서 애플리케이션은 winrt 네임스페이스의 하위 네임스페이스에서 위의 명명 규칙을 따라야 합니다.
다음은 요약 정보입니다.
네임스페이스 | 입력 | 앱에서 정의할 수 있음 | 앱에서 사용할 수 있음 |
---|---|---|---|
winrt::impl | 모두 | 없음 | 없음 |
winrt 및 하위 네임스페이스(impl 제외) | 소문자로 시작 | 없음 | 네 |
winrt 및 하위 네임스페이스(impl 제외) | 대문자로 시작 | 네 | 네 |
모두 | WINRT_IMPL_* | 없음 | 없음 |
모두 | WINRT_*(WINRT_IMPL_* 제외) | 사례별로 | 네 |