In the directory samples of the source tree you can find some sample program using wallaroo features.
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
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:
This sample is a simple process control software. See this blog for the problem description and a deep analisys of the solution.
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.
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).