Я хотел бы упаковать библиотеку, над которой я работаю, в качестве библиотеки только для заголовков, чтобы облегчить использование клиентами. (Это мало, и на самом деле нет причин помещать его в отдельную единицу перевода). Однако я не могу просто поместить свой код в заголовки, потому что это нарушает одно правило определения С++. (Предполагая, что заголовок библиотеки включен в несколько единиц перевода проекта клиента)
Как изменить библиотеку, чтобы сделать ее только заголовком?