Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 09be58f1 authored by David Parsons's avatar David Parsons
Browse files

Merge branch 'dev'

parents ef839493 cbc688c6
No related branches found
Tags 1.2.1
No related merge requests found
......@@ -8,7 +8,7 @@ cmake_minimum_required(VERSION 3.1.3)
# Project settings
# ============================================================================
project(hglib
VERSION 1.2.0)
VERSION 1.2.1)
# ============================================================================
......
......@@ -39,6 +39,8 @@ class HyperedgeBase {
std::unique_ptr<SpecificAttributes>&& specificAttributes);
/// Copy constructor
inline HyperedgeBase(const HyperedgeBase& other);
/// Destructor
virtual ~HyperedgeBase() = default;
/// Get the identifier
const auto id() const { return id_; }
......@@ -65,6 +67,13 @@ class HyperedgeBase {
*/
class HyperedgeBase::SpecificAttributes {
public:
SpecificAttributes() = default;
SpecificAttributes(const SpecificAttributes&) = default;
SpecificAttributes(SpecificAttributes&&) = default;
SpecificAttributes& operator=(const SpecificAttributes&) = default;
SpecificAttributes& operator=(SpecificAttributes&&) = default;
virtual ~SpecificAttributes() = default;
/**
* \brief Make a copy of the object
*
......
......@@ -95,6 +95,10 @@ class DirectedHyperedge final :
/// DirectedHyperedge copy constructor
inline DirectedHyperedge(const DirectedHyperedge& other);
public:
/// Destructor
virtual ~DirectedHyperedge() = default;
/* **************************************************************************
* **************************************************************************
* Public member functions
......
......@@ -93,6 +93,10 @@ class DirectedHyperedgeBase : public HyperedgeBase {
/// DirectedHyperedgeBase copy constructor
DirectedHyperedgeBase(const DirectedHyperedgeBase& hyperarc);
public:
/// Destructor
virtual ~DirectedHyperedgeBase() = default;
public:
/// Print the directed hyperedge
void print(std::ostream& out) const;
......
......@@ -100,6 +100,10 @@ class NamedDirectedHyperedge final :
/// NamedDirectedHyperedge copy constructor
inline NamedDirectedHyperedge(const NamedDirectedHyperedge& other);
public:
/// Destructor
virtual ~NamedDirectedHyperedge() = default;
/* **************************************************************************
* **************************************************************************
* Public member functions
......@@ -145,8 +149,14 @@ class NamedDirectedHyperedge::SpecificAttributes :
public DirectedHyperedgeBase::SpecificAttributes {
public:
/// SpecificAttributes constructors
SpecificAttributes() = delete;
SpecificAttributes(const std::string& name) : name_(name) {}
SpecificAttributes(const SpecificAttributes&) = default;
SpecificAttributes(SpecificAttributes&&) = default;
SpecificAttributes& operator=(const SpecificAttributes&) = default;
SpecificAttributes& operator=(SpecificAttributes&&) = default;
virtual ~SpecificAttributes() = default;
/// Make a copy of the object
std::unique_ptr<HyperedgeBase::SpecificAttributes> Clone() override {
return std::make_unique<SpecificAttributes>(*this);
......
......@@ -96,6 +96,10 @@ class NamedUndirectedHyperedge final :
/// NamedUndirectedHyperedge copy constructor
inline NamedUndirectedHyperedge(const NamedUndirectedHyperedge& other);
public:
/// Destructor
virtual ~NamedUndirectedHyperedge() = default;
/* **************************************************************************
* **************************************************************************
* Public member functions
......@@ -140,8 +144,14 @@ class NamedUndirectedHyperedge::SpecificAttributes :
public UndirectedHyperedgeBase::SpecificAttributes {
public:
/// SpecificAttributes constructors
SpecificAttributes() = delete;
SpecificAttributes(const std::string& name) : name_(name) {}
SpecificAttributes(const SpecificAttributes&) = default;
SpecificAttributes(SpecificAttributes&&) = default;
SpecificAttributes& operator=(const SpecificAttributes&) = default;
SpecificAttributes& operator=(SpecificAttributes&&) = default;
virtual ~SpecificAttributes() = default;
/// Make a copy of the object
std::unique_ptr<HyperedgeBase::SpecificAttributes> Clone() override {
return std::make_unique<SpecificAttributes>(*this);
......
......@@ -89,6 +89,9 @@ class UndirectedHyperedge final :
/// UndirectedHyperedge copy constructor
inline UndirectedHyperedge(const UndirectedHyperedge& other);
public:
/// Destructor
virtual ~UndirectedHyperedge() = default;
/* **************************************************************************
* **************************************************************************
* Public member functions
......
......@@ -87,6 +87,10 @@ class UndirectedHyperedgeBase : public HyperedgeBase {
/// UndirectedHyperedgeBase copy constructor
UndirectedHyperedgeBase(const UndirectedHyperedgeBase& other);
public:
/// Destructor
virtual ~UndirectedHyperedgeBase() = default;
public:
/// Print the undirected hyperedge
void print(std::ostream& out) const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment