You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
3.5 KiB
66 lines
3.5 KiB
4 years ago
|
/* A collection of all the different known operator prototypes in C++ */
|
||
|
|
||
|
// arithmetic operators
|
||
|
Type1 operator + (const Type1& a); // +a
|
||
|
Type1 operator + (const Type1& a, const Type2& b); // a + b
|
||
|
Type1& operator ++ (Type1& a); // ++a
|
||
|
Type1 operator ++ (Type1& a, int); // a++
|
||
|
Type1& operator += (Type1& a, const Type1& b); // a += b
|
||
|
Type1 operator - (const Type1& a); // -a
|
||
|
Type1& operator -- (Type1& a); // --a
|
||
|
Type1 operator -- (Type1& a, int); // a--
|
||
|
Type1& operator -= (Type1& a, const Type1& b); // a -= b
|
||
|
Type1 operator * (const Type1& a, const Type1& b); // a * b
|
||
|
Type1& operator *= (Type1& a, const Type1& b); // a *= b
|
||
|
Type1 operator / (const Type1& a, const Type1& b); // a / b
|
||
|
Type1& operator /= (Type1& a, const Type1& b); // a /= b
|
||
|
Type1 operator % (const Type1& a, const Type1& b); // a % b
|
||
|
Type1& operator %= (Type1& a, const Type1& b); // a %= b
|
||
|
|
||
|
// comparison operators
|
||
|
bool operator < (const Type1& a, const Type1& b); // a < b
|
||
|
bool operator <= (const Type1& a, const Type1& b); // a <= b
|
||
|
bool operator > (const Type1& a, const Type1& b); // a > b
|
||
|
bool operator >= (const Type1& a, const Type1& b); // a >= b
|
||
|
bool operator != (const Type1& a, const Type1& b); // a != b
|
||
|
bool operator == (const Type1& a, const Type1& b); // a == b
|
||
|
bool operator <=> (const Type1& a, const Type1& b); // a <=> b
|
||
|
|
||
|
// logical operators
|
||
|
bool operator ! (const Type1& a); // !a
|
||
|
bool operator && (const Type1& a, const Type1& b); // a && b
|
||
|
bool operator || (const Type1& a, const Type1& b); // a || b
|
||
|
|
||
|
// bitwise operators
|
||
|
Type1 operator << (const Type1& a, const Type1& b); // a << b
|
||
|
Type1& operator <<= (Type1& a, const Type1& b); // a <<= b
|
||
|
Type1 operator >> (const Type1& a, const Type1& b); // a >> b
|
||
|
Type1& operator >>= (Type1& a, const Type1& b); // a >>= b
|
||
|
Type1 operator ~ (const Type1& a); // ~a
|
||
|
Type1 operator & (const Type1& a, const Type1& b); // a & b
|
||
|
Type1& operator &= (Type1& a, const Type1& b); // a &= b
|
||
|
Type1 operator | (const Type1& a, const Type1& b); // a | b
|
||
|
Type1& operator |= (Type1& a, const Type1& b); // a |= b
|
||
|
Type1 operator ^ (const Type1& a, const Type1& b); // a ^ b
|
||
|
Type1& operator ^= (Type1& a, const Type1& b); // a ^= b
|
||
|
|
||
|
// other operators
|
||
|
Type1& Type1::operator = (const Type1& b); // a = b
|
||
|
void operator () (Type1& a); // a()
|
||
|
const Type2& operator [] (const Type1& a, const Type1& b); // a[b]
|
||
|
Type2& operator * (const Type1& a); // *a
|
||
|
Type2* operator & (const Type1& a); // &a
|
||
|
Type2* Type1::operator -> (); // a->b
|
||
|
Type1::operator type (); // (type)a
|
||
|
Type2& operator , (const Type1& a, Type2& b); // a, b
|
||
|
void *Type1::operator new (size_t x); // new Type1
|
||
|
void *Type1::operator new[] (size_t x); // new Type1[n]
|
||
|
void *Type1::operator delete (size_t x); // delete a
|
||
|
void *Type1::operator delete[] (size_t x); // delete [] a
|
||
|
|
||
|
// Misc examples
|
||
|
int& operator * ();
|
||
|
Foo::operator const char * ();
|
||
|
Foo::operator const Bar& ();
|
||
|
|