UnCoVer (Using Coverability for Verification)
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Order.h
1 /***************************************************************************
2  * Copyright (C) 2014 by Jan Stückrath <jan.stueckrath@uni-due.de> *
3  * *
4  * This program is free software; you can redistribute it and/or modify *
5  * it under the terms of the GNU General Public License as published by *
6  * the Free Software Foundation; either version 2 of the License, or *
7  * (at your option) any later version. *
8  * *
9  * This program is distributed in the hope that it will be useful, *
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12  * GNU General Public License for more details. *
13  * *
14  * You should have received a copy of the GNU General Public License *
15  * along with this program; if not, write to the *
16  * Free Software Foundation, Inc., *
17  * 51 Franklin St, Fifth Floor, Boston, MA 02110, USA *
18  ***************************************************************************/
19 
20 #ifndef ORDER_H_
21 #define ORDER_H_
22 
23 #include "../graphs/Hypergraph.h"
24 
25 namespace uncover {
26  namespace basic_types {
27 
32  class Order {
33 
34  public:
35 
43  virtual bool isLessOrEq(graphs::Hypergraph const& smaller, graphs::Hypergraph const& bigger) const = 0;
44 
48  virtual ~Order() {};
49 
50  protected:
51 
55  Order() {};
56 
57  };
58 
62  typedef shared_ptr<Order> Order_sp;
63 
67  typedef shared_ptr<Order const> Order_csp;
68 
69  }
70 }
71 #endif /* ORDER_H_ */
virtual bool isLessOrEq(graphs::Hypergraph const &smaller, graphs::Hypergraph const &bigger) const =0
This function takes two Hypergraph objects and checks whether the first is smaller than or equal to t...
Order()
Calling this constructor except from a subclass, will produce problems with the virtual functions...
Definition: Order.h:55
shared_ptr< Order const > Order_csp
Alias for a shared pointer to a constant Order object.
Definition: Order.h:67
A Hypergraph represents a graph with a unique identifier.
Definition: Hypergraph.h:35
shared_ptr< Order > Order_sp
Alias for a shared pointer to an Order object.
Definition: Order.h:62
This class presents a generic ordering relation on Hypergraphs.
Definition: Order.h:32
virtual ~Order()
Destroys this Order object.
Definition: Order.h:48