void assume_if_else()

in fatal/debug/assume.h [553:577]


void assume_if_else(
  TCondition &&condition,
  TWhenTrue &&when_true,
  TWhenFalse &&when_false
) {
  if (condition.eval()) {
    if (!when_true.eval()) {
      print_assumptions(
        FATAL_LOG(FATAL) << "expected second assumption to be true since first"
          " is",
        std::forward<TCondition>(condition),
        std::forward<TWhenTrue>(when_true)
      );
      std::abort();
    }
  } else if (!when_false.eval()) {
    print_assumptions(
      FATAL_LOG(FATAL) << "expected third assumption to be true since first"
        " isn't",
      std::forward<TCondition>(condition),
      std::forward<TWhenFalse>(when_false)
    );
    std::abort();
  }
}