diff --git a/src/db/db/dbNetlistCompare.cc b/src/db/db/dbNetlistCompare.cc index 7069b63e4..22f5ae964 100644 --- a/src/db/db/dbNetlistCompare.cc +++ b/src/db/db/dbNetlistCompare.cc @@ -2018,6 +2018,11 @@ NetlistComparer::NetlistComparer (NetlistCompareLogger *logger) m_max_n_branch = 100; } +NetlistComparer::~NetlistComparer () +{ + // .. nothing yet .. +} + void NetlistComparer::exclude_caps (double threshold) { diff --git a/src/db/db/dbNetlistCompare.h b/src/db/db/dbNetlistCompare.h index a7d447892..f7b9cc5c0 100644 --- a/src/db/db/dbNetlistCompare.h +++ b/src/db/db/dbNetlistCompare.h @@ -147,6 +147,11 @@ public: * "a" is null if there is no match for b and vice versa. */ virtual void subcircuit_mismatch (const db::SubCircuit * /*a*/, const db::SubCircuit * /*b*/) { } + +private: + // No copying + NetlistCompareLogger (const NetlistCompareLogger &); + NetlistCompareLogger &operator= (const NetlistCompareLogger &); }; /** @@ -160,6 +165,11 @@ public: */ NetlistComparer (NetlistCompareLogger *logger = 0); + /** + * @brief Destructor + */ + ~NetlistComparer (); + /** * @brief Mark two nets as identical * @@ -266,6 +276,11 @@ public: */ bool compare (const db::Netlist *a, const db::Netlist *b, db::NetlistCompareLogger *logger) const; +private: + // No copying + NetlistComparer (const NetlistComparer &); + NetlistComparer &operator= (const NetlistComparer &); + protected: bool compare_circuits (const db::Circuit *c1, const db::Circuit *c2, db::DeviceCategorizer &device_categorizer, db::CircuitCategorizer &circuit_categorizer, db::CircuitPinMapper &circuit_pin_mapper, const std::vector > &net_identity, bool &pin_mismatch, std::map &c12_circuit_and_pin_mapping, std::map &c22_circuit_and_pin_mapping) const; bool all_subcircuits_verified (const db::Circuit *c, const std::set &verified_circuits) const; @@ -294,6 +309,13 @@ template<> struct type_traits : public tl::type_traits struct type_traits : public tl::type_traits +{ + // mark "NetlistDeviceExtractor" as having a default ctor and no copy ctor + typedef tl::false_tag has_copy_constructor; + typedef tl::false_tag has_default_constructor; +}; + } #endif diff --git a/src/db/db/dbNetlistCrossReference.h b/src/db/db/dbNetlistCrossReference.h index 5438187a4..03754def8 100644 --- a/src/db/db/dbNetlistCrossReference.h +++ b/src/db/db/dbNetlistCrossReference.h @@ -269,6 +269,10 @@ public: } private: + // No copying + NetlistCrossReference (const db::NetlistCrossReference &); + NetlistCrossReference &operator= (const db::NetlistCrossReference &); + tl::weak_ptr mp_netlist_a, mp_netlist_b; std::vector > m_circuits; std::list m_per_circuit_data; @@ -296,4 +300,16 @@ private: } +namespace tl +{ + +template<> struct type_traits : public tl::type_traits +{ + // mark "NetlistDeviceExtractor" as having a default ctor and no copy ctor + typedef tl::false_tag has_copy_constructor; + typedef tl::false_tag has_default_constructor; +}; + +} + #endif