vectors

Directory

eXtremeDB_rt/samples/vectors

Description

Demonstrates the use of vectors and vector-based indexes

Used API

classname_vectorname_alloc(), classname_vectorname_put()

Code snippet

 
    declare database    vectors;
    
    // This sample demonstrates vectors and indexes based on vectors
    
    struct Item
    {
            uint4     id;
            string    name;
    };
    
    class Box
    {
            string  name;
            uint4   volume;
    
            vector< string >   owners;                                        // history of the box owners
            vector< uint4 >    repairYears;                           // history of the box repairs
            vector< uint2 >    colors;                                        // all outside colors
            vector< char<5> >  zipcodes;                              // history of the box locations
    
            vector< Item >     items;                                         // things in the box
    
            tree< owners, name >      I_owners;                       // owner and name of the box sorted
            tree< repairYears  >      I_ryears;
            tree< colors >            I_colors;
            tree< zipcodes >          I_zipcodes;
            tree< items.name, name >  I_items;                        // ordered by item name, box name
    
    };
    
     Box_items_alloc(&box, nitems);
    
          for (n = 0; n &lt; nitems && MCO_S_OK == rc; n++)
          {
            rc = Box_items_put(&box, n, &item);
            Item_id_put(&item, next_item_id++);
            Item_name_put(&item, itemname, (mco_uint2)strlen(itemname));
          }

What to expect as an output

 
	Creating 100 objects with vectors declared in vector.mco...
	....................
	Mem: total pgs=5895, free pgs=5137, used and reserved 189 Kb