.\" .de Id .. .de Sp .if n .sp .if t .sp 0.4 .. .TH index_set 7rheolef "rheolef-6.7" "rheolef-6.7" "rheolef-6.7" .\" label: /*Class:index_set .SH NAME index_set - a set of indexes (rheolef-6.7) .SH SYNOPSYS A class for: l = {1,3,...9} i.e. a wrapper for STL \fBset\fP with some assignment operators, such as l1 += l2. This class is suitable for use with the \fBdisarray\fP class, as \fBdisarray\fP (see disarray(2)). .\" skip start:AUTHOR: .\" skip start:DATE: .\" END .SH IMPLEMENTATION .\" begin_example .Sp .nf class index_set : public std::set { public: // typedefs: typedef std::set base; typedef std::size_t value_type; typedef std::size_t size_type; // allocators: index_set (); index_set (const index_set& x); index_set& operator= (const index_set& x); template index_set& operator= (size_type x[N]); void clear (); // basic algebra: void insert (size_type dis_i); // a := a union {dis_i} index_set& operator+= (size_type dis_i); // idem index_set& operator+= (const index_set& b); // a := a union b // a := a union b void inplace_union (const index_set& b); void inplace_intersection (const index_set& b); // c := a union b friend void set_union (const index_set& a, const index_set& b, index_set& c); friend void set_intersection (const index_set& a, const index_set& b, index_set& c); // io: friend std::istream& operator>> (std::istream& is, index_set& x); friend std::ostream& operator<< (std::ostream& os, const index_set& x); // boost mpi: #ifdef _RHEOLEF_HAVE_MPI template void serialize (Archive& ar, const unsigned int version); #endif // _RHEOLEF_HAVE_MPI }; .Sp .fi .\" end_example .\" LENGTH = 1 .SH SEE ALSO disarray(2)