Helper class for adding lines in an easier way. More...
Public Member Functions | |
| control_line_adder (gate &g) | |
| Default constructor. More... | |
| target_line_adder | operator() () |
| Add no control line. More... | |
| target_line_adder | operator() (const gate::line &l1) |
| Add one control line. More... | |
| target_line_adder | operator() (const gate::line &l1, const gate::line &l2) |
| Add two control lines. More... | |
| target_line_adder | operator() (const gate::line &l1, const gate::line &l2, const gate::line &l3) |
| Add three control lines. More... | |
| target_line_adder | operator() (const gate::line &l1, const gate::line &l2, const gate::line &l3, const gate::line &l4) |
| Add four control lines. More... | |
| target_line_adder | operator() (const gate::line &l1, const gate::line &l2, const gate::line &l3, const gate::line &l4, const gate::line &l5) |
| Add five control lines. More... | |
| target_line_adder | operator() (const gate::line &l1, const gate::line &l2, const gate::line &l3, const gate::line &l4, const gate::line &l5, const gate::line &l6) |
| Add six control lines. More... | |
| target_line_adder | operator() (const gate::line &l1, const gate::line &l2, const gate::line &l3, const gate::line &l4, const gate::line &l5, const gate::line &l6, const gate::line &l7) |
| Add seven control lines. More... | |
| target_line_adder | operator() (const gate::line &l1, const gate::line &l2, const gate::line &l3, const gate::line &l4, const gate::line &l5, const gate::line &l6, const gate::line &l7, const gate::line &l8) |
| Add eight control lines. More... | |
| target_line_adder | operator() (const gate::line &l1, const gate::line &l2, const gate::line &l3, const gate::line &l4, const gate::line &l5, const gate::line &l6, const gate::line &l7, const gate::line &l8, const gate::line &l9) |
| Add nine control lines. More... | |
Helper class for adding lines in an easier way.
This class should not be used stand alone but just with the add_gate methods designed for this purpose. See also Adding Gates.
|
explicit |
Default constructor.
| g | Gate, to which control lines should be added |
| target_line_adder operator() | ( | ) |
| target_line_adder operator() | ( | const gate::line & | l1 | ) |
Add one control line.
| l1 | First control line |
| target_line_adder operator() | ( | const gate::line & | l1, |
| const gate::line & | l2 | ||
| ) |
Add two control lines.
| l1 | First control line |
| l2 | Second control line |
| target_line_adder operator() | ( | const gate::line & | l1, |
| const gate::line & | l2, | ||
| const gate::line & | l3 | ||
| ) |
Add three control lines.
| l1 | First control line |
| l2 | Second control line |
| l3 | Second control line |
| target_line_adder operator() | ( | const gate::line & | l1, |
| const gate::line & | l2, | ||
| const gate::line & | l3, | ||
| const gate::line & | l4 | ||
| ) |
Add four control lines.
| l1 | First control line |
| l2 | Second control line |
| l3 | Second control line |
| l4 | Fourth control line |
| target_line_adder operator() | ( | const gate::line & | l1, |
| const gate::line & | l2, | ||
| const gate::line & | l3, | ||
| const gate::line & | l4, | ||
| const gate::line & | l5 | ||
| ) |
Add five control lines.
| l1 | First control line |
| l2 | Second control line |
| l3 | Second control line |
| l4 | Fourth control line |
| l5 | Fifth control line |
| target_line_adder operator() | ( | const gate::line & | l1, |
| const gate::line & | l2, | ||
| const gate::line & | l3, | ||
| const gate::line & | l4, | ||
| const gate::line & | l5, | ||
| const gate::line & | l6 | ||
| ) |
Add six control lines.
| l1 | First control line |
| l2 | Second control line |
| l3 | Second control line |
| l4 | Fourth control line |
| l5 | Fifth control line |
| l6 | Sixth control line |
| target_line_adder operator() | ( | const gate::line & | l1, |
| const gate::line & | l2, | ||
| const gate::line & | l3, | ||
| const gate::line & | l4, | ||
| const gate::line & | l5, | ||
| const gate::line & | l6, | ||
| const gate::line & | l7 | ||
| ) |
Add seven control lines.
| l1 | First control line |
| l2 | Second control line |
| l3 | Second control line |
| l4 | Fourth control line |
| l5 | Fifth control line |
| l6 | Sixth control line |
| l7 | Seventh control line |
| target_line_adder operator() | ( | const gate::line & | l1, |
| const gate::line & | l2, | ||
| const gate::line & | l3, | ||
| const gate::line & | l4, | ||
| const gate::line & | l5, | ||
| const gate::line & | l6, | ||
| const gate::line & | l7, | ||
| const gate::line & | l8 | ||
| ) |
Add eight control lines.
| l1 | First control line |
| l2 | Second control line |
| l3 | Second control line |
| l4 | Fourth control line |
| l5 | Fifth control line |
| l6 | Sixth control line |
| l7 | Seventh control line |
| l8 | Eighth control line |
| target_line_adder operator() | ( | const gate::line & | l1, |
| const gate::line & | l2, | ||
| const gate::line & | l3, | ||
| const gate::line & | l4, | ||
| const gate::line & | l5, | ||
| const gate::line & | l6, | ||
| const gate::line & | l7, | ||
| const gate::line & | l8, | ||
| const gate::line & | l9 | ||
| ) |
Add nine control lines.
| l1 | First control line |
| l2 | Second control line |
| l3 | Second control line |
| l4 | Fourth control line |
| l5 | Fifth control line |
| l6 | Sixth control line |
| l7 | Seventh control line |
| l8 | Eighth control line |
| l9 | Ninth control line |
1.8.3.1