File poset.h

class Poset
#include <poset.h>

A class to represent a partial order set aka Poset.

Public Types

typedef std::pair<unsigned int, unsigned int> RT
typedef std::vector<RT> RV

Public Functions

inline Poset()
inline Poset(unsigned int _n, RV &_order_relations)
inline void print()
inline unsigned int num_elem() const
inline unsigned int num_relations() const
inline RT get_relation(unsigned int idx) const
template<typename NT>
inline bool is_in(const std::vector<NT> &pt_coeffs, NT tol = NT(0)) const
inline std::vector<unsigned int> topologically_sorted_list() const

Public Static Functions

static inline RV verify(const RV &relations, unsigned int n)

Private Members

unsigned int n
RV order_relations

Private Static Functions

static inline void sorted_list(const unsigned int &n, const RV &relations, std::vector<unsigned int> &res)