Я пишу функцию, которую хочу принять в качестве параметра. Скажем следующее:
#include<random>
#include<iostream>
using namespace std;
random_device rd;
mt19937 gen(rd());
void print_random(uniform_real_distribution<>& d) {
cout << d(gen);
}
Теперь есть способ обобщить этот код, вкратце, на С++, чтобы он принимал только все дистрибутивы и дистрибутивы (иначе компилятор должен жаловаться)? Изменить: Чтобы уточнить, решение должно также иметь возможность принимать только подмножество всех дистрибутивов (которые должны быть предварительно заданы).
Я бы, например, согласился с возможностью определять тип как набор разрешенных типов, но было бы еще лучше, если бы уже был тип, который имеет это свойство для распределений.