📄 intervalset.hpp
字号:
/* Context : Matrix and Vector Operation Author : Frank Hoeppner, see also AUTHORS file Description : header of class IntervalSet History : see source file Comment : This file was generated automatically. DO NOT EDIT. Copyright : Copyright (C) 1999-2000 Frank Hoeppner This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*/#ifndef IntervalSet_HEADER#define IntervalSet_HEADER/* configuration include */#ifdef HAVE_CONFIG_H/*//FILETREE_IFDEF HAVE_CONFIG_H*/#include "config.h"/*//FILETREE_ENDIF*/#endif// necessary includes#include <list>#include "define.hpp"#include "PrimitiveSet.hpp"#include "stlstream.hpp"//#define INLINE inline// global types, constants, definitions// class definitiontemplate <class DATA>class IntervalSet { public: typedef DATA data_type; typedef PrimitiveSet<DATA> primitive_type; typedef list<primitive_type> primitive_list_type; IntervalSet(); const primitive_list_type& list() const { return m_list; } void insert(const primitive_type&); void complement(); void unite(const IntervalSet& a) { operation(a,NEGATE_NONE); } void intersect(const IntervalSet& a) { operation(a,NEGATE_BOTH_RESULT); } void setdiff(const IntervalSet& a) { operation(a,NEGATE_THIS_RESULT); } DATA size() const; void write(ostream&) const; void clean(); DATA hausdorff_distance(DATA,DATA) const; DATA hausdorff_distance(const IntervalSet&) const; protected: enum operation_enum { NEGATE_NONE = 0, NEGATE_THIS = 1, NEGATE_ARG = 2, NEGATE_BOTH = 3, NEGATE_RESULT = 4, NEGATE_THIS_RESULT = 5, NEGATE_ARG_RESULT = 6, NEGATE_BOTH_RESULT = 7 }; void operation(const IntervalSet&,operation_enum); private: primitive_list_type m_list; short m_status; };// class related functions and definitionstemplate <class DATA>inline ostream& operator<< ( ostream &os, const IntervalSet<DATA>& a_var ) { a_var.write(os); return os; }/* inline implementation */#endif // IntervalSet_HEADER
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -