scram::core::Preprocessor::MergeTable
Helper struct for algorithms that must make an optimal decision how to merge or factor out common arguments of gates into new gates.
#include <preprocessor.h>
Public Types
| Name | |
|---|---|
| using std::vector< int > | CommonArgs <br>Unique, sorted common arguments. |
| using std::set< GatePtr > | CommonParents <br>Unique common parent gates. |
| using std::pair< CommonArgs, CommonParents > | Option <br>One possibility. |
| using std::vector< Option * > | OptionGroup <br>A set of best options. |
| using std::vector< Option > | MergeGroup <br>Isolated group for processing. |
| using std::pair< GatePtr, CommonArgs > | Candidate <br>Candidate gates with their shared arguments. |
| using std::vector< Candidate > | Candidates <br>Collection of merge-candidate gates with their common arguments. |
| using boost::unordered_map< CommonArgs, CommonParents > | Collection <br>Mapping for collection of common args and common parents as options. |
Public Attributes
| Name | |
|---|---|
| std::vector< MergeGroup > | groups <br>Container of isolated groups. |
Public Types Documentation
using CommonArgs
cpp
using scram::core::Preprocessor::MergeTable::CommonArgs = std::vector<int>;Unique, sorted common arguments.
using CommonParents
cpp
using scram::core::Preprocessor::MergeTable::CommonParents = std::set<GatePtr>;Unique common parent gates.
using Option
cpp
using scram::core::Preprocessor::MergeTable::Option = std::pair<CommonArgs, CommonParents>;One possibility.
using OptionGroup
cpp
using scram::core::Preprocessor::MergeTable::OptionGroup = std::vector<Option*>;A set of best options.
using MergeGroup
cpp
using scram::core::Preprocessor::MergeTable::MergeGroup = std::vector<Option>;Isolated group for processing.
using Candidate
cpp
using scram::core::Preprocessor::MergeTable::Candidate = std::pair<GatePtr, CommonArgs>;Candidate gates with their shared arguments.
using Candidates
cpp
using scram::core::Preprocessor::MergeTable::Candidates = std::vector<Candidate>;Collection of merge-candidate gates with their common arguments.
using Collection
cpp
using scram::core::Preprocessor::MergeTable::Collection = boost::unordered_map<CommonArgs, CommonParents>;Mapping for collection of common args and common parents as options.
Public Attributes Documentation
variable groups
cpp
std::vector< MergeGroup > groups;Container of isolated groups.
Updated on 2026-01-09 at 21:59:11 +0000
