종속 유형의 템플릿 사용

user877329

템플릿이 템플릿 유형 매개 변수 내부에있을 때 템플릿 매개 변수로 템플릿을 호출하는 방법 :

template<template<class> class Template, class T>
struct MakeType
{
    using type = Template<T>;
};

template<class Policy>
struct Blah
{
    using type = MakeType< /*A non-instantiated template member in Policy*/, int>::type;
};

예를 들어 Policy템플릿 멤버가있을 수 있습니다 ArrayType.

class ExamplePolicy
{
    template<class T>
    using ArrayType = std::vector<T>;
};

어떻게 부릅니까 MakeType템플릿과 어쩌구에서 Policy::ArrayTypeTemplate.

MakeType직접 호출 이 잘 작동합니다.

static_assert(std::is_same_v<std::vector<int>, MakeType<std::vector, int>::type>);

컴파일할까요

Picaud Vincent

이것이 문제를 해결합니까?

// -*- compile-command: "g++ SO.cpp"; -*-
#include <vector>

template <template <class> class Template, class T>
struct MakeType
{
  using type = Template<T>;
};

template <class Policy>
struct Blah
{
  using type = typename MakeType<Policy::template ArrayType, int>::type;

  type foo()
  {
    return type();
  }
};

struct ExamplePolicy
{
  template <class T>
  using ArrayType = std::vector<T>;
};

int main()
{
  Blah<ExamplePolicy> blah;

  auto tmp = blah.foo();
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++, 순환 종속성, 템플릿 및 사용자 유형

분류에서Dev

템플릿 종속 유형 반환

분류에서Dev

템플릿 클래스의 템플릿 친구의 종속성

분류에서Dev

고유 한 ViewModel 및 템플릿 10을 사용하는 종속성 속성이있는 UWP UserControl

분류에서Dev

최종 또는 템플릿을 사용한 정적 다형성?

분류에서Dev

C ++의 다른 템플릿 함수에서 템플릿 클래스에 속하는 중첩 유형을 어떻게 사용할 수 있습니까?

분류에서Dev

템플릿 종속 형식을 사용하여 C ++에서 연산자 "<<"오버로딩

분류에서Dev

템플릿을 사용한 상속-변수가 유형의 이름을 지정하지 않습니다.

분류에서Dev

<< 상속 및 템플릿을 사용한 정의

분류에서Dev

<< 상속 및 템플릿을 사용한 정의

분류에서Dev

종속 유형 : 템플릿 인수 추론 실패

분류에서Dev

MEF를 사용한 템플릿 10 종속성 주입

분류에서Dev

정의되지 않은 템플릿 유형 사용

분류에서Dev

일반 유형 오류를 사용하는 C #의 템플릿

분류에서Dev

TypeScript에서 템플릿 리터럴 유형을 반환 유형 속성으로 사용하는 방법

분류에서Dev

템플릿 템플릿 매개 변수의 템플릿 매개 변수 사용

분류에서Dev

템플릿에서 첫 번째 유형의 클래스 멤버 유형 사용

분류에서Dev

클래스 속성을 사용하여 유형이 아닌 템플릿 매개 변수로 템플릿 함수 호출

분류에서Dev

템플릿 전문화에서 비 유형 템플릿 템플릿 매개 변수 사용

분류에서Dev

C ++ : 매개 변수 팩을 사용하여 가변 유형 매개 변수로 템플릿 클래스 상속

분류에서Dev

유형 = smth 사용. 및 템플릿 유형

분류에서Dev

가변 템플릿 상속의 유형 불일치

분류에서Dev

템플릿 매개 변수의 유형을 확인하고 다른 템플릿을 사용합니다.

분류에서Dev

템플릿 유형에 독립적 인 템플릿 클래스의 사용자 만들기

분류에서Dev

WPF의 속성 템플릿을 사용하여 Style.Triggers 병합

분류에서Dev

임의의 종속 유형에 대한 템플릿을 전문화하는 방법

분류에서Dev

C ++ 템플릿 메서드의 순환 종속성

분류에서Dev

C ++ 20 개념 템플릿 함수 전문화 사용시 종속성

분류에서Dev

사용자 정의 템플릿 태그

Related 관련 기사

  1. 1

    C ++, 순환 종속성, 템플릿 및 사용자 유형

  2. 2

    템플릿 종속 유형 반환

  3. 3

    템플릿 클래스의 템플릿 친구의 종속성

  4. 4

    고유 한 ViewModel 및 템플릿 10을 사용하는 종속성 속성이있는 UWP UserControl

  5. 5

    최종 또는 템플릿을 사용한 정적 다형성?

  6. 6

    C ++의 다른 템플릿 함수에서 템플릿 클래스에 속하는 중첩 유형을 어떻게 사용할 수 있습니까?

  7. 7

    템플릿 종속 형식을 사용하여 C ++에서 연산자 "<<"오버로딩

  8. 8

    템플릿을 사용한 상속-변수가 유형의 이름을 지정하지 않습니다.

  9. 9

    << 상속 및 템플릿을 사용한 정의

  10. 10

    << 상속 및 템플릿을 사용한 정의

  11. 11

    종속 유형 : 템플릿 인수 추론 실패

  12. 12

    MEF를 사용한 템플릿 10 종속성 주입

  13. 13

    정의되지 않은 템플릿 유형 사용

  14. 14

    일반 유형 오류를 사용하는 C #의 템플릿

  15. 15

    TypeScript에서 템플릿 리터럴 유형을 반환 유형 속성으로 사용하는 방법

  16. 16

    템플릿 템플릿 매개 변수의 템플릿 매개 변수 사용

  17. 17

    템플릿에서 첫 번째 유형의 클래스 멤버 유형 사용

  18. 18

    클래스 속성을 사용하여 유형이 아닌 템플릿 매개 변수로 템플릿 함수 호출

  19. 19

    템플릿 전문화에서 비 유형 템플릿 템플릿 매개 변수 사용

  20. 20

    C ++ : 매개 변수 팩을 사용하여 가변 유형 매개 변수로 템플릿 클래스 상속

  21. 21

    유형 = smth 사용. 및 템플릿 유형

  22. 22

    가변 템플릿 상속의 유형 불일치

  23. 23

    템플릿 매개 변수의 유형을 확인하고 다른 템플릿을 사용합니다.

  24. 24

    템플릿 유형에 독립적 인 템플릿 클래스의 사용자 만들기

  25. 25

    WPF의 속성 템플릿을 사용하여 Style.Triggers 병합

  26. 26

    임의의 종속 유형에 대한 템플릿을 전문화하는 방법

  27. 27

    C ++ 템플릿 메서드의 순환 종속성

  28. 28

    C ++ 20 개념 템플릿 함수 전문화 사용시 종속성

  29. 29

    사용자 정의 템플릿 태그

뜨겁다태그

보관