manpagez: man pages & more
info octave
Home | html | info | man
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.1.5 Structures in Oct-Files

A structure in Octave is map between a number of fields represented and their values. The Standard Template Library map class is used, with the pair consisting of a std::string and an octave Cell variable.

A simple example demonstrating the use of structures within oct-files is

An example of its use is

x.a = 1; x.b = "test"; x.c = [1, 2];
structdemo (x, "b")
⇒ selected = test

The commented code above demonstrates how to iterate over all of the fields of the structure, where as the following code demonstrates finding a particular field in a more concise manner.

As can be seen the contents method of the Octave_map class returns a Cell which allows structure arrays to be represented. Therefore, to obtain the underlying octave_value we write

octave_value tmp = arg0.contents (p1) (0);

where the trailing (0) is the () operator on the Cell object. We can equally iterate of the elements of the Cell array to address the elements of the structure array.

© 2000-2018
Individual documents may contain additional copyright information.