From d1b7765838c2145e8c6fb545d46075298f2ee2a8 Mon Sep 17 00:00:00 2001 From: Markus Friedrich Date: Sun, 18 Sep 2022 20:19:39 +0200 Subject: [PATCH] Extended the documentation for octave operator overloading Octave has more operators than C++. These operators can be overloaded for the type swig_ref using the standard Octave Object Oriented Programming mechanism. This is now added to the documentation. --- Doc/Manual/Octave.html | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Doc/Manual/Octave.html b/Doc/Manual/Octave.html index de39a1d96..b5168b899 100644 --- a/Doc/Manual/Octave.html +++ b/Doc/Manual/Octave.html @@ -625,6 +625,16 @@ On the C++ side, the default mappings are as follows: Octave can also utilise friend (i.e. non-member) operators with a simple %rename: see the example in the Examples/octave/operator directory.

+

+Octave has several operators for which no corresponding C++ operators exist. For example, the Octave code +

+
+x=[a,b,c];
+
+

+calls the Octave operator horzcat of the class of a. Hence, if a is of type swig_ref you can write an overload for this operator for your wrapped C++ class by placing a file @swig_ref/horzcat.m in the Octave load path (like for every Octave class, see Creating a Class). This Octave function file is then called whenever the above Octave code is executed for a variable of type swig_ref. +

+

30.3.10 Class extension with %extend