Как создать тип с ограничениями

Например, я хочу создать тип MyType из целых троек. Но не просто декартово произведение трех целых чисел, я хочу, чтобы тип представлял все (x, y, z) так, что x + y + z = 5

Как мне это сделать? За исключением использования только (x, y), поскольку z = 5 - x - y

И тот же вопрос, если у меня есть три конструктора A, B, C и тип должен быть all (A x, B y, C z) такое, что x + y + z = 5

25
задан Matt Fenwick 2 November 2011 в 14:40
поделиться