IDebugHostTypeSignature::CompareAgainst 메서드(dbgmodel.h)
CompareAgainst 메서드는 형식 서명을 다른 형식 서명과 비교하고 두 서명이 비교하는 방법을 반환합니다. 반환되는 비교 결과는 다음과 같이 정의된 SignatureComparison 열거형의 멤버입니다.
관련이 없음 - 비교되는 두 서명 또는 형식 간에는 관계가 없습니다.
모호함 - 하나의 서명 또는 형식이 다른 서명과 모호하게 비교됩니다. 두 형식 서명의 경우 두 서명이 동일하게 일치할 수 있는 잠재적인 형식 인스턴스가 있음을 의미합니다. 예를 들어 아래에 표시된 두 형식 서명은 모호합니다.
서명 1:
std::pair<*, int>
서명 2:
std::pair<int, *>
형식이 std::p air<int를 instance 때문에 int>는 하나와 동일하게 일치합니다(둘 다 하나의 콘크리트와 하나의 와일드카드 일치가 있음).
LessSpecific - 하나의 서명 또는 형식이 다른 시그니처보다 덜 구체적입니다. 즉, 덜 구체적인 서명에는 구체적인 형식이 있는 와일드카드가 있는 경우가 많습니다. 예를 들어 아래의 첫 번째 서명은 두 번째 서명보다 덜 구체적입니다.
서명 1:
std::pair<*, int>
서명 2:
std::pair<int, int>
두 번째 에 구체적인 형식(int)이 있는 와일드카드(*)가 있기 때문입니다.
MoreSpecific - 하나의 서명 또는 형식이 다른 서명보다 더 구체적입니다. 즉, 보다 구체적인 시그니처에는 덜 구체적인 서명에 와일드카드가 있는 구체적인 형식이 있는 경우가 많습니다. 예를 들어 아래의 첫 번째 서명은 두 번째 서명보다 더 구체적입니다.
서명 1:
std::pair<int, int>
서명 2:
std::pair<*, int>
두 번째 에 와일드카드(*)가 있는 구체적인 형식(int)이 있기 때문입니다.
동일 - 두 서명 또는 형식이 동일합니다.
구문
HRESULT CompareAgainst(
IDebugHostTypeSignature *typeSignature,
SignatureComparison *result
);
매개 변수
typeSignature
비교할 형식 서명입니다.
result
두 서명 간의 관계에 대한 표시는 관련이 없거나 동일하거나, 다른 서명보다 더 구체적이거나 덜 구체적이든, 모호하든 간에 여기에 반환됩니다. 이러한 관계는 SignatureComparison 열거형의 멤버가 지정합니다.
반환 값
이 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다.
설명
예제 코드
ComPtr<IDebugHostTypeSignature> spSig1; /* get a type signature */
ComPtr<IDebugHostTypeSignature> spSig2; /* get a second type signature */
SignatureComparison compResult;
if (SUCCEEDED(spSig1->ComapreAgainst(spSig2.Get(), &compResult)))
{
// compResult indicates how the two signatures are related (if at all)
// std::pair<int, *> and std::pair<*, int> would be related ambiguously
// std::pair<int, *> would be more specific than std::pair<*, *>
// std::pair<int, int> and std::pair<float, float> would be unrelated
}
요구 사항
요구 사항 | 값 |
---|---|
헤더 | dbgmodel.h |