27 #include "op/BinaryOperation.hpp" 28 #include "op/Lookahead.hpp" 29 #include "op/Unreduction.hpp" 39 template<
typename S1,
typename S2>
40 BddAnd<S1,S2> bddAnd(S1
const& spec1, S2
const& spec2) {
41 return BddAnd<S1,S2>(spec1, spec2);
44 #if __cplusplus >= 201103L 51 template<
typename... SS>
52 BddAnd<SS...> bddAnd(SS
const&... specs) {
53 return BddAnd<SS...>(specs...);
63 template<
typename S1,
typename S2>
64 BddOr<S1,S2> bddOr(S1
const& spec1, S2
const& spec2) {
65 return BddOr<S1,S2>(spec1, spec2);
68 #if __cplusplus >= 201103L 75 template<
typename... SS>
76 BddOr<SS...> bddOr(SS
const&... specs) {
77 return BddOr<SS...>(specs...);
87 template<
typename S1,
typename S2>
88 ZddIntersection<S1,S2> zddIntersection(S1
const& spec1, S2
const& spec2) {
89 return ZddIntersection<S1,S2>(spec1, spec2);
92 #if __cplusplus >= 201103L 99 template<
typename... SS>
100 ZddIntersection<SS...> zddIntersection(SS
const&... specs) {
101 return ZddIntersection<SS...>(specs...);
111 template<
typename S1,
typename S2>
112 ZddUnion<S1,S2> zddUnion(S1
const& spec1, S2
const& spec2) {
113 return ZddUnion<S1,S2>(spec1, spec2);
116 #if __cplusplus >= 201103L 123 template<
typename... SS>
124 ZddUnion<SS...> zddUnion(SS
const&... specs) {
125 return ZddUnion<SS...>(specs...);
135 BddLookahead<S> bddLookahead(S
const& spec) {
136 return BddLookahead<S>(spec);
145 ZddLookahead<S> zddLookahead(S
const& spec) {
146 return ZddLookahead<S>(spec);
156 BddUnreduction<S> bddUnreduction(S
const& spec,
int numVars) {
157 return BddUnreduction<S>(spec, numVars);
167 ZddUnreduction<S> zddUnreduction(S
const& spec,
int numVars) {
168 return ZddUnreduction<S>(spec, numVars);