lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master d2b8c01 1/6: Improve physical design: unique_


From: Greg Chicares
Subject: [lmi-commits] [lmi] master d2b8c01 1/6: Improve physical design: unique_ptr member --> out-of-line ~owner()
Date: Fri, 19 Oct 2018 15:45:06 -0400 (EDT)

branch: master
commit d2b8c019885de50f65c5471973ba01a1809cf9a5
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>

    Improve physical design: unique_ptr member --> out-of-line ~owner()
    
    Given
      class A {std::unique_ptr<B> b_;}
    a forward declaration of B in A's header suffices if A::~A() is
    implemented out of line in a TU where B's header has been included.
---
 emit_ledger.cpp | 2 ++
 emit_ledger.hpp | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/emit_ledger.cpp b/emit_ledger.cpp
index 598b68a..4ab557e 100644
--- a/emit_ledger.cpp
+++ b/emit_ledger.cpp
@@ -73,6 +73,8 @@ ledger_emitter::ledger_emitter
         }
 }
 
+ledger_emitter::~ledger_emitter() = default;
+
 /// Perform initial case-level steps such as writing headers.
 
 double ledger_emitter::initiate()
diff --git a/emit_ledger.hpp b/emit_ledger.hpp
index e1f90fb..c26c36c 100644
--- a/emit_ledger.hpp
+++ b/emit_ledger.hpp
@@ -24,7 +24,6 @@
 
 #include "config.hpp"
 
-#include "group_quote_pdf_gen.hpp"      // [required for unique_ptr<>]
 #include "mc_enum_type_enums.hpp"       // enum mcenum_emission
 #include "so_attributes.hpp"
 
@@ -33,6 +32,7 @@
 #include <memory>                       // unique_ptr
 
 class Ledger;
+class group_quote_pdf_generator;
 
 /// Emit a group of ledgers in various guises.
 ///
@@ -43,7 +43,7 @@ class LMI_SO ledger_emitter final
 {
   public:
     ledger_emitter(fs::path const& case_filepath, mcenum_emission emission);
-    ~ledger_emitter() = default;
+    ~ledger_emitter();
 
     double initiate ();
     double emit_cell(fs::path const& cell_filepath, Ledger const& ledger);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]