.. _program_listing_file_src_sta_HSTimingUndo.h: Program Listing for File HSTimingUndo.h ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``src/sta/HSTimingUndo.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include // FLT_MAX #include // std::uint8_t namespace HSFullTiming { // 前置声明:只用指针即可,不需要完整定义 struct slackData; // Slack 回滚记录:只考虑 Modify(Pre/Post) // side: 0=Pre, 1=Post struct SlackUndo { std::uint8_t side = 0; // 指向被修改的 slackData 节点(评估期间不能 erase 该节点) slackData *p = nullptr; // old values(三元组) short oldHop = -1; float oldSlack = FLT_MAX; int oldEdgeId = -1; }; // 边 enable/disable 回滚记录 struct EnableUndo { int edgeId = -1; bool oldEnable = true; }; } // namespace HSFullTiming