C++, как генерировать все перестановки перегрузок функций?C++

Программы на C++. Форум разработчиков
Anonymous
C++, как генерировать все перестановки перегрузок функций?

Сообщение Anonymous »

Предположим, у меня есть классы Date и классы Year, Month и Day.

Код: Выделить всё

struct Date {
Date(Year year, Month month, Day day) : d(day), m(month), y(year) {};
Date(Month month, Day day, Year year) : d(day), m(month), y(year) {};
Date(Day day, Month month, Year year) : d(day), m(month), y(year) {};
Date(Day day, Year year, Month month) : d(day), m(month), y(year) {};
...
...

private:
Day d;
Month m;
Year y;
}
Это позволяет мне не использовать определенную структуру аргументов для даты, поскольку у меня много перегрузок.

Могу ли я автоматически генерировать все перестановки/перегрузки?

Просто для ясности:
  • Перестановки касаются только раскладки аргументов, ничего о них следует
    изменить, поскольку я знаю, что это невозможно автоматизировать.
  • Все сгенерированные перегрузки должны иметь один и тот же код, поскольку меняется только
    расположение аргументов а не сама логика.


Подробнее здесь: https://stackoverflow.com/questions/305 ... -overloads

Вернуться в «C++»