OrderedPtvSet.h
Go to the documentation of this file.00001
00002
00003
00004 #ifndef SIMPLEX_IS_INCLUDED
00005 #define SIMPLEX_IS_INCLUDED
00006
00007 #include "Ptv.h"
00008 #include <vector>
00009 #include <iterator>
00010 #include <iostream>
00011
00012
00013
00014
00015
00016
00017
00018
00019 using namespace std;
00020
00021 namespace SyFi
00022 {
00023
00024 class OrderedPtvSet
00025 {
00026 vector<Ptv> Ptvs;
00027
00028 public:
00029 OrderedPtvSet();
00030 OrderedPtvSet(const Ptv& p0, const Ptv& p1);
00031 OrderedPtvSet(const Ptv& p0, const Ptv& p1, const Ptv& p2);
00032 OrderedPtvSet(const Ptv& p0, const Ptv& p1, const Ptv& p2, const Ptv& p3);
00033 virtual ~OrderedPtvSet();
00034
00035 void append(const Ptv& p);
00036 unsigned int size() const;
00037 const Ptv& operator [] (unsigned int i) const;
00038 Ptv& operator [] (unsigned int i);
00039 OrderedPtvSet& operator = (const OrderedPtvSet& p);
00040 bool less(const OrderedPtvSet& s) const;
00041 };
00042
00043 struct OrderedPtvSet_is_less : public std::binary_function<OrderedPtvSet, OrderedPtvSet, bool>
00044 {
00045 bool operator() (const OrderedPtvSet &lh, const OrderedPtvSet &rh) const { return lh.less(rh); }
00046 };
00047
00048 std::ostream & operator<< ( std::ostream& os, const OrderedPtvSet& p);
00049
00050
00051 class OrderedPtvSet_i
00052 {
00053 pair<OrderedPtvSet,vector<unsigned int> > si;
00054
00055 public:
00056 OrderedPtvSet_i();
00057 OrderedPtvSet_i(OrderedPtvSet& s, unsigned int i);
00058 OrderedPtvSet_i(OrderedPtvSet& s, unsigned int i0, unsigned int i1);
00059 virtual ~OrderedPtvSet_i();
00060
00061 const OrderedPtvSet& get_OrderedPtvSet() const;
00062 unsigned int get_i(unsigned int n) const;
00063 unsigned int size() const;
00064 bool less(const OrderedPtvSet_i& si) const;
00065 };
00066
00067 struct OrderedPtvSet_i_is_less : public std::binary_function<OrderedPtvSet_i, OrderedPtvSet_i, bool>
00068 {
00069 bool operator() (const OrderedPtvSet_i &lh, const OrderedPtvSet_i &rh) const { return lh.less(rh); }
00070 };
00071
00072 std::ostream & operator<< ( std::ostream& os, const OrderedPtvSet_i& si);
00073
00074 }
00075 #endif