D 언어의 오버로드 세트로 만드는 임시 템플릿 API
(Ab)Using Overload Sets to Create Ad-Hoc Template APIs in D
D 언어의 오버로드 세트(overload set)는 제네릭 프로그래밍의 강력한 도구로, 같은 이름의 함수나 템플릿들을 하나의 세트로 묶어 컴파일 타임에 패턴 매칭을 가능하게 합니다. 이 글은 오버로드 세트와 템플릿 특수화를 결합하여 임시(ad-hoc) 템플릿 API를 설계하는 방법을 설명합니다. 예를 들어, 차원별로 분리된 벡터 타입을 하나의 GVec 인터페이스로 통합하고, std.conv.to와 같은 표준 API를 사용자 정의 구현으로 교체할 수 있게 하는 기법을 소개합니다. 오버로드 세트를 이해하면 코드 중복 없이 다양한 접근 패턴을 지원하는 유연한 API를 만들 수 있습니다.
이름 붙일 수 있는 API는 불멸의 API가 아니다. -monkyyy-tzu