diff options
Diffstat (limited to 'README-maintainer')
-rw-r--r-- | README-maintainer | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/README-maintainer b/README-maintainer index 60e7de57..52c10810 100644 --- a/README-maintainer +++ b/README-maintainer @@ -156,9 +156,14 @@ CODING RULES * Use QPDF_DLL on all methods that are to be exported in the shared library/DLL. Use QPDF_DLL_CLASS for all classes whose type - information is needed. This is important for exception classes and - it seems also for classes that are intended to be subclassed across - the shared library boundary. + information is needed. This is important for classes that are used + as exceptions, subclassed, or tested with dynamic_cast across the + the shared object boundary (or "shared library boundary" -- we may + use either term in comments and documentation). In particular, + anything new derived from Pipeline or InputSource should be marked + with QPDF_DLL_CLASS, but we don't need to do it for QPDFObjectHelper + or QPDFDocumentHelper subclasses since there's no reason to use + dynamic_cast with those. * Put private member variables in std::shared_ptr<Members> for all public classes. Remember to use QPDF_DLL on ~Members(). Exception: |