La classe "\fire\Group" consente di creare e gestire un gruppo di oggetti (booleani, numeri, stringhe, ...). Le regole di creazione e gestione di un gruppo sono quelle di un insieme matematico.
Source code:
include("fxcore.php");
$objectsGroup = new \fire\Group_fire_Object_pointer();
$object0 = new \fire\Object();
echo "object0 hash code: " . $object0->hashCode() . "\n";
$objectsGroup->c_include($object0);
$object1 = new \fire\Object();
echo "object1 hash code: " . $object1->hashCode() . "\n";
$objectsGroup->c_include($object1);
echo "objects group size: " . $objectsGroup->size() . "\n";
$object2 = new \fire\Object();
echo "object2 hash code: " . $object2->hashCode() . "\n";
$objectsGroup->c_include($object2);
echo "objects group size: " . $objectsGroup->size() . "\n";
$objectsGroup->exclude($object1);
echo "objects group size: " . $objectsGroup->size() . "\n";
$objectsGroup->c_include($object0);
echo "objects group size: " . $objectsGroup->size() . "\n";
$stringsGroup = new \fire\Group_std_string();
$stringsGroup->c_include("christian");
$stringsGroup->c_include("damiano");
$stringsGroup->c_include("lorenzo");
$stringsGroup->c_include("luca");
$stringsGroup->c_include("maurizio");
$stringsGroup->c_include("mauro");
echo "strings group size: " . $stringsGroup->size() . "\n";
$stringsGroup->exclude("lorenzo");
echo "strings group size: " . $stringsGroup->size() . "\n";
$stringsGroup->rewind();
while ($stringsGroup->hasNext()) {
$string = $stringsGroup->next();
echo "next string: " . $string . "\n";
}
$stringsGroup->forward();
while ($stringsGroup->hasPrevious()) {
$string = $stringsGroup->previous();
echo "previous string: " . $string . "\n";
}