diff libinterp/octave-value/cdef-object.h @ 30503:838e73617671 stable

cdef classes: Forward declare with visibility flags (bug #59820). * libinterp/octave-value/cdef-fwd.h: Add header with forward declarations of cdef classes. * libinterp/octave-value/module.mk: Add new file to build system. * libinterp/octave-value/cdef-class.h, libinterp/octave-value/cdef-manager.h, libinterp/octave-value/cdef-method.h, libinterp/octave-value/cdef-object.h, libinterp/octave-value/cdef-package.h, libinterp/octave-value/cdef-property.h, libinterp/octave-value/cdef-utils.h: Include forward declaration header where needed. Export classes from library.
author Markus Mützel <markus.muetzel@gmx.de>
date Fri, 17 Dec 2021 19:13:04 +0100
parents 0e0cc2760540
children cd5836f814b8 796f54d4ddbf
line wrap: on
line diff
--- a/libinterp/octave-value/cdef-object.h	Thu Dec 16 22:01:14 2021 +0100
+++ b/libinterp/octave-value/cdef-object.h	Fri Dec 17 19:13:04 2021 +0100
@@ -33,6 +33,7 @@
 
 #include "oct-refcount.h"
 
+#include "cdef-fwd.h"
 #include "error.h"
 #include "oct-map.h"
 #include "ov.h"
@@ -40,9 +41,6 @@
 
 namespace octave
 {
-  class cdef_object;
-  class cdef_class;
-
   // This is mainly a bootstrap class to declare the expected interface.
   // The actual base class is cdef_class_base, which is declared after
   // cdef_object, such that it can contain cdef_object objects.
@@ -201,6 +199,7 @@
   };
 
   class
+  OCTINTERP_API
   cdef_object
   {
   public:
@@ -350,6 +349,7 @@
   };
 
   class
+  OCTINTERP_API
   cdef_object_base : public cdef_object_rep
   {
   public:
@@ -387,6 +387,7 @@
   };
 
   class
+  OCTINTERP_API
   cdef_object_array : public cdef_object_base
   {
   public:
@@ -454,6 +455,7 @@
   };
 
   class
+  OCTINTERP_API
   cdef_object_scalar : public cdef_object_base
   {
   public:
@@ -540,6 +542,7 @@
   };
 
   class
+  OCTINTERP_API
   handle_cdef_object : public cdef_object_scalar
   {
   public:
@@ -575,6 +578,7 @@
   };
 
   class
+  OCTINTERP_API
   value_cdef_object : public cdef_object_scalar
   {
   public:
@@ -605,6 +609,7 @@
   };
 
   class
+  OCTINTERP_API
   cdef_meta_object_rep : public handle_cdef_object
   {
   public:
@@ -652,6 +657,7 @@
   };
 
   class
+  OCTINTERP_API
   cdef_meta_object : public cdef_object
   {
   public: