Mercurial > octave
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: