libboloq
A library to replesent binary functions using Binary Decision Diagram.
|
二分決定図を操作する基本的なクラスです [詳解]
#include <combination.h>
公開型 | |
using | node_ptr = typename table_type::node_ptr |
実際に操作されるノードの型 | |
using | label_type = typename table_type::node_type::label_type |
ラベルの型を表します [詳解] | |
公開メンバ関数 | |
basic_combination (const label_type &_label) | |
コンストラクタ | |
self_type & | change (const label_type &v) |
特定のアイテムの存在を反転させます | |
self_type | changed (const label_type &v) |
特定のアイテムの存在を反転させた結果を返します | |
bool | operator== (const self_type &o) const |
同じ組み合わせ集合を表現しているか比較します [詳解] | |
bool | operator!= (const self_type &o) const |
違う組み合わせ集合を表現しているか比較します [詳解] | |
self_type | operator+ (const self_type &o) const |
union を行った結果を返します | |
self_type & | operator+= (const self_type &o) |
union を適用します | |
self_type | operator- (const self_type &o) const |
subtract を行った結果を返します | |
self_type & | operator-= (const self_type &o) |
subtract を適用します | |
self_type | operator& (const self_type &o) const |
intersection の結果を返します | |
self_type & | operator&= (const self_type &o) |
intersection を適用します | |
template<class V > | |
void | accept (V &visitor) const |
visitorを受理します [詳解] | |
template<class AssignT > | |
bool | contain (const AssignT &assign) const |
組み合わせ集合を評価します | |
静的公開メンバ関数 | |
static const self_type | one () |
0 定節点 | |
static const self_type | zero () |
1 定節点 | |
二分決定図を操作する基本的なクラスです
using boloq::basic_combination< T >::label_type = typename table_type::node_type::label_type |
ラベルの型を表します
この型は内部で用いられるノードの型に依存します。
|
inline |
visitorを受理します
visitorオブジェクトは、node_ptrを引数にした関数インタフェースをもたなくてはいけません
|
inline |
違う組み合わせ集合を表現しているか比較します
この判定はO(1)で行う事ができます。
|
inline |
同じ組み合わせ集合を表現しているか比較します
この判定はO(1)で行う事ができます。