/* * File: NetStructures.h * Author: Peter G. Jensen * * Created on 09 March 2016, 21:08 */ #ifndef NETSTRUCTURES_H #define NETSTRUCTURES_H #include #include namespace PetriEngine { struct Arc { uint32_t place; uint32_t weight; bool skip = false; bool inhib = false; Arc() : place(std::numeric_limits::max()), weight(std::numeric_limits::max()), skip(false), inhib(false) { }; bool operator < (const Arc& other) const { return place < other.place; } }; struct Transition { std::vector pre; std::vector post; bool skip = false; bool inhib = false; Transition() : pre(), post(), skip(false), inhib(false) { } }; struct Place { std::vector consumers; // things consuming std::vector producers; // things producing bool skip = false; bool inhib = false; Place() : consumers(), producers(), skip(false), inhib(false) { } }; } #endif /* NETSTRUCTURES_H */