template-meta-programming

    1

    1답변

    다음과 같이 정의 된 우성 관계를 표현하기 위해 사용되거나 결합 될 수있는 하나의 메타 함수 (예 : std::less_equal)를 찾고 있습니다. 시퀀스 A는 만약 다른 시퀀스 B (동일한 길이를 갖는 두) 지배한다 : (A)의 각 요소는 대응하는 요소 B 이상인 을 (A)의 적어도 하나 개의 요소가보다 큰 B의 해당 요소 지금까지 내가 갈 수 있었던

    11

    2답변

    템플릿 자체가 프로그램이 될 수 있습니다. 템플릿의 "실행"을 단계별로 실행할 수 있도록 템플릿 디버거가 있습니까? 이것은 기본적으로 compile/link/codegen 중에 수행되어야하며 생성 된 프로그램을 디버깅하는 것과는 다릅니다. 디버거를 사용할 수없는 많은 "기본"환경에서도 일반적으로 "printf 디버깅"을 수행 할 수 있습니다. 템플릿으로도

    1

    1답변

    Boost :: MPL을 사용하여 템플릿 매개 변수와 문자열을 연결 한 typename을 생성하는 방법을 생각해 보려고합니다. 다음과 같은 클래스 쌍이 있습니다 : X 및 XProvider. 후자는 이전 유형에서 상속 된 객체를 인스턴스화하는 팩토리 클래스입니다. 템플릿 클래스는 런타임시 유형의 인스턴스화를 관리하기위한 것이므로 unordered_map 및

    3

    1답변

    나는 다음과 같은 struct는 클래스 멤버 인수를 검색하기 위해 구현했습니다. 내가 같은 클래스 func1 정의가있는 경우 : 내가 pack<int>에 해당하는 것으로 typename getArgs<typename func1<int>::operator()>::Type을 기대했다 template<typename T> struct func1{ co

    2

    1답변

    : template<typename ValueType> ValueType any_cast(any & operand) { typedef BOOST_DEDUCED_TYPENAME remove_reference<ValueType>::type nonref; nonref * result = any_cast<nonref>(&operand);

    7

    2답변

    제목이 맞지만 내 문제/질문 인 경우 확실하지 않습니다. 특정 표현에 대한 함수를 만들기 위해 메타 프로그래밍을 사용하고 싶습니다. template<typename T1, typename T2> struct plus{ T1 func(T1 in1, T2 in2){ return in1 + in2; } }; template<typename T1,

    2

    1답변

    나는 작은 대리인 연습 문제를 만들기 위해 노력 해왔다. 1.) 나 자신을 더 잘 이해하고, 2. 템플릿 메타 프로그래밍을 잘 이해하고, 3.) 이벤트 위주 프로그래밍을 위해 델리게이트를 사용하기도했다. 나는 표준 라이브러리에 접근 할 수 없다.) this 대답에 따르면, 다음과 같은 함수 구현 될 수 template <typename T, typename

    3

    1답변

    일부 라이브러리 코드를 작성 중이므로 가능한 경우 사용자가 정적 바인딩을 이용할 수 있기를 바랍니다. 클래스를 컴파일 할 때 클래스를 인스턴스화 할 수 없으면 클래스의 동적 버전이 있어야 런타임에 인스턴스화 할 수 있습니다. 동적 template<bool dynamic, int value=0> struct A { static const int V

    1

    1답변

    템플릿을 사용하여 C++ 유형에 대한 제약 조건을 작성했습니다. 이제 테스트 스위트에서 테스트 해보고, 동작이 멈출 때를 알아 봅니다. 약 Field 클래스를 생각해보십시오. enable_if 조건이 실패하기 때문에 template <size_t Size> class Field { template<size_t Offset, size_t Count

    10

    2답변

    C++에서 나오기 때문에 Swift에서 일부 메타 프로그래밍을 시도하고 있습니다. 예를 들어, 두 개의 숫자를 추가하는 메타 함수를 구현하고 싶습니다. 나는 이런 식으로 뭔가를 시도했다 : protocol IntWrapper { class var value: Int { get } } struct A: IntWrapper { stati