Mercurial > octave
view examples/structdemo.cc @ 16867:be41c30bcb44
Re-write documentation and all examples of dynamically linked functions.
* doc/interpreter/dynamic.txi: deleted.
* doc/interpreter/external.txi: Renamed from dynamic.txi. Rewrote or added
much information about dynamically linked functions.
* doc/interpreter/Makefile.am: Changed dynamic.txi to external.txi
in build system.
* doc/interpreter/data.txi, doc/interpreter/intro.txi,
doc/interpreter/octave.texi, doc/interpreter/sparse.txi: Changed dynamic.txi to
external.txi in cross-references.
* doc/interpreter/doccheck/aspell-octave.en.pws: Added new words from
external.txi to Octave dictionary.
* examples/firstmexdemo.c: deleted.
* examples/mex_demo.c: Renamed from firstmexdemo.c. Added many more comments
to code.
* examples/hello.cc: deleted.
* examples/oct_demo.cc: Renamed from hello.cc. Added many more comments
to code.
* examples/Makefile.am: Changed build system to use mex_demo.c and oct_demo.cc.
* examples/addtwomatrices.cc, examples/celldemo.cc, examples/embedded.cc,
examples/fortdemo.cc, examples/funcdemo.cc, examples/globaldemo.cc,
examples/helloworld.cc, examples/mycell.c, examples/myfeval.c,
examples/myfunc.c, examples/myhello.c, examples/mypow2.c, examples/myprop.c,
examples/myset.c, examples/mysparse.c, examples/mystring.c,
examples/mystruct.c, examples/paramdemo.cc, examples/standalone.cc,
examples/stringdemo.cc, examples/structdemo.cc, examples/unwinddemo.cc:
Use Octave coding conventions for code. Fixed all compilation errors and
warnings.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 29 Jun 2013 18:08:24 -0700 |
parents | db1f49eaba6b |
children |
line wrap: on
line source
#include <octave/oct.h> #include <octave/ov-struct.h> DEFUN_DLD (structdemo, args, , "Struct Demo") { octave_value retval; int nargin = args.length (); if (args.length () == 2) { octave_scalar_map arg0 = args(0).scalar_map_value (); //octave_map arg0 = args(0).map_value (); if (! error_state) { std::string arg1 = args(1).string_value (); if (! error_state) { octave_value tmp = arg0.contents (arg1); //octave_value tmp = arg0.contents (arg1)(0); if (tmp.is_defined ()) { octave_scalar_map st; st.assign ("selected", tmp); retval = octave_value (st); } else error ("structdemo: struct does not have a field named '%s'\n", arg1.c_str ()); } else error ("structdemo: ARG2 must be a character string"); } else error ("structdemo: ARG1 must be a struct"); } else print_usage (); return retval; }