01_user_documentation:07_rgg_xl:02_xl:04_production:15_extent_index
Extent index
When a node is created in a production statement, it is added by default on the same extent index as the most left Node from the query.
Example
module A; module B; protected void init () [ Axiom ==>A.(setExtentIndex(2)) B.(setExtentIndex(1)); ] public void run(){ // The node B is on the index 1 (i.e. the 2nd one) .It can be queried // with @2 (with is the same as @0b10 i.e. 2nd bit =1, 1rst bit = 0) println("B found: "+(*@2; B*) ); // print b // the query is applied on extent index 1 and 2 (110). Thus, // both A and B are seen. // the production A B will have as default the extent index of A (i.e. 2) [@0b110; A B ==> A B;] derive(); // apply the modification // There are no B in the index 1 anymore. println("B not found: "+ (*@2; B*) ); // the new B is in index 2. (4 is 100 in binary) println("new B found: "+ (*@4; B*) ); }
01_user_documentation/07_rgg_xl/02_xl/04_production/15_extent_index.txt · Last modified: 2025/10/13 10:44 by gaetan
