2#ifndef UG_BASE_LIB_ALGEBRA_ORDERING_STRATEGIES_ALGORITHMS_UTIL_H
3#define UG_BASE_LIB_ALGEBRA_ORDERING_STRATEGIES_ALGORITHMS_UTIL_H
5#include <boost/graph/adjacency_list.hpp>
6#include <boost/graph/graph_traits.hpp>
18 operator bool()
const {
return value_; }
26#ifndef HAVE_IS_PERMUTATION
27#define HAVE_IS_PERMUTATION
29template <
typename O_t>
31 std::vector<BOOL> container(o.size(),
false);
32 for(
unsigned i = 0; i < o.size(); ++i){
34 container[o[i]] =
true;
37 UG_THROW(
"is_permutation: multiple occurence of index, i=" << i <<
", o[i]=" << o[i] <<
"\n");
42 for(
unsigned i = 0; i < o.size(); ++i){
44 UG_THROW(
"is_permutation: no occurence of index " << i);
char value_
Definition permutation_util.h:126
BOOL(bool const &t)
Definition util.h:17
BOOL()
Definition util.h:16
#define UG_THROW(msg)
Definition error.h:57
bool is_permutation(O_t &o)
Definition permutation_util.h:135