|
| Group (int id, GroupExpr *expr, Memo *memo) |
| Constructor for the Group class. A Group tracks both logical and physical M_EXPRs. 更多...
|
|
void | add_expr (GroupExpr *expr) |
| Adds an expression to the group. 更多...
|
|
bool | set_expr_cost (GroupExpr *expr, double cost) |
| Sets the cost of a given expression in the group. 更多...
|
|
GroupExpr * | get_winner () |
|
const std::vector< GroupExpr * > & | get_logical_expressions () const |
| Gets the logical expressions in the group.
|
|
const std::vector< GroupExpr * > & | get_physical_expressions () const |
| Gets the physical expressions in the group.
|
|
double | get_cost_lb () |
| Gets the cost lower bound. 更多...
|
|
void | set_explored () |
| Marks the group as explored.
|
|
bool | has_explored () |
| Checks if the group has been explored.
|
|
int | get_id () const |
|
GroupExpr * | get_logical_expression () |
|
LogicalProperty * | get_logical_prop () |
| dump the group info, for debug
|
|
void | dump () const |
|
A class representing a group within cascade optimizer.
This class manages a group of expressions and their associated costs, and keeps track of whether the group has been explored.