Re: specifying Namespace for Matrix class?

Fritz Sonnichsen <[email protected]> Fri, 15 Oct 2021 10:36:05 -0400
Newsgroups gmane.comp.gnu.octave.general
Message-ID <CAMxgeAoHCQm8aWG7n=Zb496V9Uius7x3zeP=Bf9n_-KdDTXhww@mail.gmail.com>
Thanks Markus for your continued help.
Regarding the Matrix Class, I am not a very strong C++ programmer-if the
class is not contained in a namespace does this mean there is no way to
specify it directly as in:
classname::Matrix ....
  I have a huge amount of C++ code with the Matrix class and functions
already specified (probably should have used a different more unique
name!!!)

Thanks again
Fritz

On Fri, Oct 15, 2021 at 10:18 AM Markus Mützel <[email protected]>
wrote:

> afaict, the Matrix class is currently not in a namespace:
> GNU Octave: Matrix Class Reference
> <https://octave.org/doxygen/stable/d3/d3f/classMatrix.html#adc245406f6dc2aec3953d6aba2bf69c3>
>
> HTH,
> Markus
>
>
> *Gesendet:* Freitag, 15. Oktober 2021 um 15:25 Uhr
> *Von:* "Fritz Sonnichsen" <[email protected]>
> *An:* [email protected]
> *Betreff:* specifying Namespace for Matrix class?
> I am starting with some of the octave sample code (modified below) calling
> octave from C++. I eventually will have another Matrix class in the code so
> I need to differentiate by namespace.
>   I cannot find out which namespace in octave contains "Matrix" but I
> vaguely recall it is in "math". Obviously I am wrong  per this error
> message:
>      matr.cpp:11:17: error: ‘Matrix’ is not a member of ‘octave::math’
>               octave::math::Matrix a_matrix = Matrix (n, n);
> Any ideas which namespace it is in so I can qualify it in the code?
>
> Thanks
> Fritz
>
> =============CODE=============
> #include <iostream>
> #include <octave/oct.h>
>
> using namespace octave::math;
>
> int main (void)
> {
>   std::cout << "Hello Octave world!\n";
>   int n = 2;
>   octave::math::Matrix a_matrix = Matrix (n, n);
>   for (octave_idx_type i = 0; i < n; i++)
>     for (octave_idx_type j = 0; j < n; j++)
>       a_matrix(i,j) = (i + 1) * 10 + (j + 1);
>   std::cout << a_matrix;
>   return 0;
> }
> ---------- We are transitioning to a web based forum for community help
> discussions at https://octave.discourse.group/c/help
>


----------
We are transitioning to a web based forum
for community help discussions at
https://octave.discourse.group/c/help