Concepts - 도전 2 출력 가능한 타입만 받는 API 만들기
목표
스트림 출력이 가능한 타입만 받는 named concept를 직접 정의한다.
요구 사항
Streamableconcept를 만든다.std::ostream& << value표현식이 유효한지 검사한다.print_value같은 함수를 만들고Streamable타입만 허용한다.
검증 포인트
int,std::string은 통과하는가- 사용자 정의 타입은 연산자 제공 여부에 따라 결과가 달라지는가
- 실패 타입에서 오류 메시지가 읽기 쉬운가
메모
requires표현식을 사용한다.- 반환 타입까지 확인하면 더 좋다.