X(a) | コピーコンストラクタで、X(a)==a を満たす。要デストラクタ。 |
X u(a) | 結果として u==a となる。 |
X u = a | 同上。 |
a == b | 等値関係。*a == *b であること。結果は bool。 |
a != b | !(a==b) と同じでなければいけない。 |
*a | 参照外し。結果は T。 |
++r | 結果は const X&。末尾直後以外の場合、値は参照外し可能か末尾直後となる。 |
r++ | 結果は const X&。{X x = r; ++r; return x;} と同等であること。 |
*++r | 結果は T。 |
*r++ | 結果は T。 |
X(a) | *a = t は *X(a) = t と同等であること。要デストラクタ。 |
X u(a) | u は a のコピー。等値は定義されている必要はない。要デストラクタ。 |
X u = a | 同上。 |
*a = t | 結果はなし。a の指す位置に t が代入される。 |
++r | 結果は const X&。末尾直後以外の場合、値は参照外し可能か末尾直後となる。 |
r++ | 結果は const X&。{X x = r; ++r; return x;} と同等であること。 |
*++r | 結果は T。 |
*r++ | 結果は T。 |
X u | 結果は無保証。要デストラクタ。 |
X() | 同上。 |
X(a) | コピーコンストラクタで、X(a)==a を満たす。要デストラクタ。 |
X u(a) | 結果として u==a となる。要デストラクタ。 |
X u = a | 同上。 |
a == b | 等値関係。*a == *b であること。結果は bool。 |
a != b | !(a==b) と同じでなければいけない。 |
r = a | 結果は X&。r==a であること。 |
*a | 参照外し。結果は T。a が可変の場合、*a = t も有効。 |
++r | 結果は const X&。末尾直後以外の場合、値は参照外し可能か末尾直後となる。 |
r++ | 結果は const X&。{X x = r; ++r; return x;} と同等であること。 |
*++r | 結果は T。 |
*r++ | 結果は T。 |
--r | 結果は const X&。末尾直後以外の場合、値は参照外し可能か末尾直後となる。 |
r-- | 結果は const X&。{X x = r; --r; return x;} と同等であること。 |
*--r | 結果は T。 |
*r-- | 結果は T。 |
r += n | 結果は正に X&。以下と同じ値を一定時間で求めること。
{ Distance m = n; if (m >= 0) while (m--) ++r; else while (m++) --r; return r; } |
a+n | 結果は正に X。{X x = a; return a += n;} と同等であること。 |
n+a | 同上。 |
r -= n | 結果は正に X&。r += -n と同等であること。 |
a-n | 結果は正に X。{X x = a; return a -= n;} と同等であること。 |
b-a | 結果は正に Distance。a+n==b のとき、結果の値は n であること。 |
a[n] | 結果は T。値は *(a+n)。 |
a < b | 結果は bool。< は全順序であること。 |
a > b | 結果は bool。b < a と同等であること。 |
a >= b | 結果は bool。!(a < b) と同等であること。 |
a <= b | 結果は bool。!(b < a) と同等であること。 |