Introduction
In the directory samples of the source tree you can find some sample program using wallaroo features.
Samples content
In the following table you can find the samples using a specific feature.
Feature | Sample |
Constraints check | all |
All container types | Minimal |
Loading from xml | Mineplant, Shapes |
Loading from multiple configuration files | Shapes |
Loading from code | Roulette |
Constructor parameters | all |
Multiple catalogs | Roulette |
Explicit use of boost | Boost_only |
Explicit use of c++11 | Cpp0x_only |
Portable use | Minimal, Mineplant, Shapes, Roulette |
Optional collaborator | Mineplant, Minimal |
Mandatory collaborator | Mineplant (explicit), all (implicit) |
Collection collaborator | Mineplant, Roulette, Shapes |
Bounded collection collaborator | Minimal |
Shared libraries | Roulette |
Attributes | Shapes |
In the following table you can find which features use each sample.
Sample | Feature |
Minimal | All container types |
Optional collaborator | |
Bounded collection collaborator | |
Boost_only | Explicit use of boost |
Cpp0x_only | Explicit use of c++11 |
Mineplant | XmlConfiguration |
Shapes | JsonConfiguration |
XmlConfiguration | |
Loading from multiple configuration files | |
Attributes | |
Roulette | Loading from code |
Multiple catalogs | |
Shared libraries |
Samples Description
Minimal, Boost_only & Cpp0x_only
These samples are similar and show the basic features of wallaroo. The only difference among them is the explicit use of C++11 in Cpp0x_only, boost in Boost_only and a portable way in Minimal.
The static structure is shown in the following class diagram:
Mineplant
This sample is a simple process control software. See this blog for the problem description and a deep analisys of the solution.
Shapes
This sample load from a file a list of shapes (trangles, rectangles, circles), align them and draw the resulting figure on the screen or on a CSV file.
Roulette
This is a simulation of a roulette game. You can place your bet, a wheel is spun and then you get the result table. This sample shows how to define your classes in shared libraries (DLL or SO).