sequenced-before" is an asymmetric, transitive, pair-wise relationship between evaluations within the same thread (it may extend across threads if atomic types are involved with suitable std::memory_order).
If A is sequenced before B, then evaluation of A will be complete before evaluation of B begins.
If A is not sequenced before B and B is sequenced before A, then evaluation of B will be complete before evaluation of A begins.
If A is not sequenced before B and B is not sequenced before A, then two possibilities exist:
evaluations of A and B are unsequenced: they may be performed in any order and may overlap (within a single thread of execution, the compiler may interleave the CPU instructions that comprise A and B)
evaluations of A and B are indeterminably-sequenced: they may be performed in any order but may not overlap: either A will be complete before B, or B will be complete before A. The order may be the opposite the next time the same expression is evaluated.