# CspComposite Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Defines a composite data type that consists of a finite set of terms.

## Inheritance Hierarchy

System.Object

Microsoft.SolverFoundation.Solvers.CspComposite

Microsoft.SolverFoundation.Solvers.CspPowerList

Microsoft.SolverFoundation.Solvers.CspPowerSet

**Namespace:** Microsoft.SolverFoundation.Solvers

**Assembly:** Microsoft.Solver.Foundation (in Microsoft.Solver.Foundation.dll)

## Syntax

```
'Declaration
Public Class CspComposite
```

```
public class CspComposite
```

```
public ref class CspComposite
```

```
type CspComposite = class end
```

```
public class CspComposite
```

The CspComposite type exposes the following members.

## Properties

Name | Description | |
---|---|---|

False | Gets the Boolean CspTerm {false}. | |

IsEmpty | Returns a value that indicates whether a model in a solver is empty. | |

Key | Gets the key of a composite data type. | |

True | Gets the Boolean CspTerm {true}. |

Top

## Methods

Name | Description | |
---|---|---|

Abs | Computes the absolute value. | |

AddConstraints | Returns a value that indicates whether all composite-wise constraint functions added to a model are valid. | |

AddField | Adds a member. | |

And | Performs a Boolean AND operation. | |

AtMostMofN | Tests that at most m inputs are true. | |

Constant(Double) | Gets a term for the immutable real value k with double precision. | |

Constant(Int32) | Gets a term for the immutable value k. | |

Constant(Int32, Double) | Gets a term for the immutable real value k. | |

Constant(CspDomain, String) | Gets a term for the immutable symbol value k. | |

Equal(array<CspTerm[]) | Tests if all inputs are equal. | |

Equal(Int32, array<CspTerm[]) | Tests if all inputs are equal to a constant. | |

Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |

ExactlyMofN | Tests if exactly m of the inputs are true. | |

Fields | Accesses the field of the composite that has the given key. | |

FilteredSum | Adds the conditional inputs. | |

Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |

GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |

GetType | Gets the Type of the current instance. (Inherited from Object.) | |

Greater(array<CspTerm[]) | Returns a value that indicates whether each input is greater than the following input. | |

Greater(Int32, array<CspTerm[]) | Returns a value that indicates whether a constant is greater than each input. | |

GreaterEqual(array<CspTerm[]) | Returns a value that indicates whether each input is greater than or equal to the following input. | |

GreaterEqual(Int32, array<CspTerm[]) | Returns a value that indicates whether a constant is greater than or equal to the input. | |

Implies | Tests for logical implication between two inputs. | |

Index(array<CspTerm[], CspTerm) | Returns the value of the inputs[index]. | |

Index(array<CspTerm[], array<CspTerm[]) | Returns the input value selected by the keys. | |

Index(array<array<CspTerm[][], CspTerm, CspTerm) | Returns the value of the inputs[row][column]. | |

Index(array<array<CspTerm[][], CspTerm, Int32) | Returns the value of the inputs[row][column]. | |

Index(array<array<CspTerm[][], Int32, CspTerm) | Returns the value of the inputs[row][column]. | |

IsElementOf | Returns a value that indicates if an input is a member of a domain. | |

Less(array<CspTerm[]) | Returns a value that indicates if an input is less than the following input. | |

Less(Int32, array<CspTerm[]) | Returns a value that indicates if an input is less than a constant. | |

LessEqual(array<CspTerm[]) | Returns a value that indicates if an input is less than or equal to the following input. | |

LessEqual(Int32, array<CspTerm[]) | Returns a value that indicates if an input is less than or equal to a constant. | |

MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |

Neg | Negates the input. | |

Not | Performs the Boolean inverse of the input. | |

Or | Performs the Boolean OR of the inputs. | |

Power | Raises an input to the power of a specified value. | |

Product | Returns the product of the inputs. | |

Sum | Adds the inputs. | |

SumProduct | Performs the sum of the pairwise-product of the inputs. | |

TableDecimal | Creates a relation constraint by using the column variables and inputs. | |

TableDomain(array<CspTerm[], array<array<CspDomain[][]) | Creates a relation constraint by using the column variables and inputs. | |

TableDomain(array<CspTerm[], IEnumerable<IEnumerable<CspDomain>>) | Creates a relation constraint by using the column variables and inputs. | |

TableInteger | Creates a relation constraint by using the column variables and inputs. | |

TableSymbol | Creates a relation constraint by using the column variables and inputs. | |

TableTerm(array<CspTerm[], array<array<CspTerm[][]) | Creates a relation constraint by using the column variables and inputs. | |

TableTerm(array<CspTerm[], IEnumerable<IEnumerable<CspTerm>>) | Creates a relation constraint by using the column variables and inputs. | |

ToString | Converts a CspComposite object to its equivalent string representation. (Overrides Object.ToString().) | |

Unequal(array<CspTerm[]) | Returns a value that indicates if every pairing of the inputs is unequal. | |

Unequal(Int32, array<CspTerm[]) | Returns a value that indicates if every input is unequal to a constant. |

Top

## Remarks

Each term has its own domain.

## Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.