# HG changeset patch # User Markus Mützel # Date 1711637171 -3600 # Node ID a7d829ba6d4405644a94b660e7eee2105c365bb6 # Parent ab68bff7b8b8819eef68de1379f96fadcb581f71 Export Array::ArrayRep from shared library. * Array.h (Array::ArrayRep): Add visibility attributed to template class definition and overridable member functions. diff -r ab68bff7b8b8 -r a7d829ba6d44 liboctave/array/Array.h --- a/liboctave/array/Array.h Thu Mar 28 00:32:26 2024 -0400 +++ b/liboctave/array/Array.h Thu Mar 28 15:46:11 2024 +0100 @@ -131,7 +131,7 @@ protected: //! The real representation of all arrays. - class ArrayRep : public Alloc + class OCTARRAY_TEMPLATE_API ArrayRep : public Alloc { public: @@ -144,6 +144,7 @@ octave_idx_type m_len; octave::refcount m_count; + OCTARRAY_OVERRIDABLE_FUNC_API ArrayRep (pointer d, octave_idx_type len) : Alloc (), m_data (allocate (len)), m_len (len), m_count (1) { @@ -187,13 +188,16 @@ ~ArrayRep () { deallocate (m_data, m_len); } - octave_idx_type numel () const { return m_len; } + OCTARRAY_OVERRIDABLE_FUNC_API octave_idx_type numel () const + { + return m_len; + } // No assignment! ArrayRep& operator = (const ArrayRep&) = delete; - pointer allocate (size_t len) + OCTARRAY_OVERRIDABLE_FUNC_API pointer allocate (size_t len) { pointer data = Alloc_traits::allocate (*this, len); for (size_t i = 0; i < len; i++) @@ -201,7 +205,7 @@ return data; } - void deallocate (pointer data, size_t len) + OCTARRAY_OVERRIDABLE_FUNC_API void deallocate (pointer data, size_t len) { for (size_t i = 0; i < len; i++) T_Alloc_traits::destroy (*this, data+i);