forge.program
Interface ForgeType.Tuple

All Superinterfaces:
ForgeExpression, ForgeType, ProgramElement
All Known Implementing Classes:
BooleanDomain, ForgeDomain, InstanceDomain, IntegerDomain
Enclosing interface:
ForgeType

public static interface ForgeType.Tuple
extends ForgeType

A type that is a tuple of classes.


Nested Class Summary
 
Nested classes/interfaces inherited from interface forge.program.ForgeType
ForgeType.Tuple, ForgeType.Unary
 
Nested classes/interfaces inherited from interface forge.program.ForgeExpression
ForgeExpression.Leaf, ForgeExpression.Modifiable
 
Method Summary
 ForgeDomain domain()
           
 java.util.List<ForgeDomain> domains()
           
 ForgeType.Tuple product(ForgeType.Tuple tupleType)
           
 ForgeType.Tuple projectType(int... columns)
           
 ForgeDomain range()
           
 
Methods inherited from interface forge.program.ForgeType
difference, intersection, isDomain, isEmpty, join, product, subtypeOf, tupleTypes, union
 
Methods inherited from interface forge.program.ForgeExpression
accept, and, apply, arity, bitAnd, bitNot, bitOr, bitXor, bool, closure, compose, comprehension, difference, divide, eq, forAll, forSome, gt, gte, iden, iff, implies, in, intersection, isUnary, join, lone, lt, lte, minus, modulo, neg, no, not, one, or, override, plus, product, projection, quantify, shiftLeft, shiftRight, size, some, sum, summation, thenElse, times, type, union, unsignedShiftRight, xor
 
Methods inherited from interface forge.program.ProgramElement
program
 

Method Detail

domains

java.util.List<ForgeDomain> domains()

domain

ForgeDomain domain()
Specified by:
domain in interface ForgeExpression
Specified by:
domain in interface ForgeType

range

ForgeDomain range()
Specified by:
range in interface ForgeExpression
Specified by:
range in interface ForgeType

projectType

ForgeType.Tuple projectType(int... columns)
Specified by:
projectType in interface ForgeType

product

ForgeType.Tuple product(ForgeType.Tuple tupleType)