[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);
- [lmi-commits] [lmi] master updated (4c21bf7 -> 2ba6003), Greg Chicares, 2018/10/19
- [lmi-commits] [lmi] master 8eead43 4/6: Don't write 'new', Greg Chicares, 2018/10/19
- [lmi-commits] [lmi] master 4d87259 3/6: Create and use a proper alias, Greg Chicares, 2018/10/19
- [lmi-commits] [lmi] master d2b8c01 1/6: Improve physical design: unique_ptr member --> out-of-line ~owner(),
Greg Chicares <=
- [lmi-commits] [lmi] master bc32401 5/6: Replace std::shared_ptr with std::unique_ptr, Greg Chicares, 2018/10/19
- [lmi-commits] [lmi] master 86bf250 2/6: Reorder a statement, Greg Chicares, 2018/10/19
- [lmi-commits] [lmi] master 2ba6003 6/6: Dispense with smart pointers, Greg Chicares, 2018/10/19