示例#1
0
 Expr operator==(Expr e1, Expr e2) {
     std::string sep(1, blk::Block::fill);
     blk::Expr right = beside(
         text(sep + "=" + sep),
         e2
     );
     return move_ref(beside(
         e1,
         right
     ), e1->column() + 2, std::max(e1->row(), e2->row()));
 }
示例#2
0
    Expr operator/(Expr e1, Expr e2) {
        int size = std::max(e1->width(), e2->width());
        if(e1->height() > 1 || e2->height() > 1) {
            size += 2;
        }

        blk::Expr bottom = over(
            text(std::string(size, '-')),
            e2
        );
        return move_ref(over(
            e1,
            bottom
        ), bottom->column(), e1->height());
    }
示例#3
0
	constexpr auto forward_ref(M&& m)noexcept{
		return move_ref(std::move(m));
	}