Section 5.1 provides the basic guidelines how a new application can be attacked with the help of ABACUS. While this section describes the first steps a user should follow, we discuss in Section 5.2 advanced features, in particular how default strategies can be modified according to problem specific requirements.
We strongly encourage to study this chapter together with the example of the ABACUS distribution. In this example all concepts of Section 5.1 and several features of Section 5.2 can be found.
In the following sections we also present pieces of C++ code. When we discuss variables that are of the type “pointer to some type”, then we usually omit for convenience of presentation the “pointer to” and the operator * if there is no danger of confusion. For instance, given the variable
ABA_ARRAY<ABA_CONSTRAINT*> *constraints;
|
we also say “the constraints are stored in the array constraints” instead of “the pointer to constraints are stored in the array *constraints”.
In order to simplify the use ABACUS we are using the following style for the names of classes, functions, variables, and enumerations.