Concepts - 도전 3 noexcept까지 포함한 복합 요구 작성하기


목표

단순 호출 가능성만 보는 것이 아니라, noexcept와 반환 타입까지 함께 제약한다.

요구 사항

  • 임의의 callable이 특정 인자로 호출 가능한지 검사한다.
  • 호출식이 noexcept인지도 함께 검사한다.
  • 반환 타입이 원하는 개념을 만족하는지도 확인한다.

검증 포인트

  • noexcept 함수와 일반 함수를 구분할 수 있는가
  • 반환 타입이 다른 callable을 컴파일 단계에서 걸러낼 수 있는가
  • named concept로 분리했을 때 코드가 더 읽기 쉬운가

메모

  • 복합 요구 문법을 직접 써본다.
  • 한 줄에 다 몰아넣지 말고 의미 단위로 나누는 편이 낫다.