DDD 1.9.0.20250409152518
DataSet.h
Go to the documentation of this file.
1/****************************************************************************/
2/* */
3/* This file is part of libDDD, a library for manipulation of DDD and SDD. */
4/* */
5/* Copyright (C) 2001-2008 Yann Thierry-Mieg, Jean-Michel Couvreur */
6/* and Denis Poitrenaud */
7/* */
8/* This program is free software; you can redistribute it and/or modify */
9/* it under the terms of the GNU Lesser General Public License as */
10/* published by the Free Software Foundation; either version 3 of the */
11/* License, or (at your option) any later version. */
12/* This program is distributed in the hope that it will be useful, */
13/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
14/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
15/* GNU LEsserGeneral Public License for more details. */
16/* */
17/* You should have received a copy of the GNU Lesser General Public License */
18/* along with this program; if not, write to the Free Software */
19/*Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
20/* */
21/****************************************************************************/
22
23#ifndef __DATASET_H__
24#define __DATASET_H__
25
26#include <iosfwd>
27
43class DataSet
44{
45 public :
47 virtual ~DataSet() {};
49 virtual DataSet *newcopy () const = 0;
51 virtual DataSet *set_intersect (const DataSet & b) const = 0;
53 virtual DataSet *set_union (const DataSet & b) const = 0;
55 virtual DataSet *set_minus (const DataSet & b) const = 0;
57 virtual bool empty() const = 0;
59 virtual DataSet *empty_set() const = 0;
61 virtual bool set_equal(const DataSet & b) const =0;
63 virtual bool set_less_than (const DataSet & b) const =0;
65 virtual long double set_size() const = 0;
67 virtual size_t set_hash() const =0;
69 virtual void set_print (std::ostream &os) const =0;
71 virtual void mark() const = 0;
72#ifdef EVDDD
73 virtual DataSet *normalizeDistance(int n) const =0;
74 virtual int getMinDistance() const = 0;
75#endif
76
77};
78
79
80#endif
This class is an abstraction of a set of data.
Definition DataSet.h:44
virtual bool set_less_than(const DataSet &b) const =0
Compares two sets with a total order.
virtual DataSet * set_minus(const DataSet &b) const =0
returns a new instance with elements = this setminus b
virtual void mark() const =0
for memory management : if your DataSet references no GDD,GHom,GSDD,GShom, mark() should do nothing
virtual bool empty() const =0
returns true if this is the empty set
virtual void set_print(std::ostream &os) const =0
returns a formatted string description of the set
virtual ~DataSet()
destructor
Definition DataSet.h:47
virtual DataSet * empty_set() const =0
returns a pointer to an instance of the empty set
virtual DataSet * set_intersect(const DataSet &b) const =0
returns a new instance with elements = this inter b
virtual size_t set_hash() const =0
returns a hash function, used in the SDD hash function computation
virtual DataSet * set_union(const DataSet &b) const =0
returns a new instance with elements = this union b
virtual bool set_equal(const DataSet &b) const =0
Compares two sets for equality.
virtual DataSet * newcopy() const =0
returns a new instance copy of this
virtual long double set_size() const =0

Please comment this page and report errors about it on the RefDocComments page.
Generated on Wed Apr 9 2025 15:27:42 for DDD by doxygen 1.9.8