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.
89 lines
1.8 KiB
89 lines
1.8 KiB
|
|
struct bar;
|
|
struct foo
|
|
{
|
|
operator bar* ();
|
|
auto operator <=> (const foo& rhs) const = default;
|
|
};
|
|
|
|
class Foo {
|
|
Foo operator + (const Foo& rhs) const;
|
|
|
|
const Foo& operator == (Foo& me);
|
|
|
|
bool operator > (const Foo& rhs) const;
|
|
|
|
InStream& operator << (InStream& in);
|
|
}
|
|
|
|
const Foo& Foo::operator == (Foo& me)
|
|
{
|
|
}
|
|
|
|
Foo Foo::operator + (const Foo& rhs) const
|
|
{
|
|
}
|
|
|
|
bool Foo::operator > (const Foo& rhs) const
|
|
{
|
|
}
|
|
|
|
class Example
|
|
{
|
|
char m_array[256];
|
|
|
|
Example& operator = (const Example& rhs);
|
|
Example& operator += (const Example& rhs);
|
|
const Example operator + (const Example& other) const;
|
|
bool operator == (const Example& other) const;
|
|
bool operator != (const Example& other) const;
|
|
Example operator + (const Example& x, const Example& y);
|
|
Example operator * (const Example& x, const Example& y);
|
|
|
|
double& operator () (int row, int col);
|
|
double operator () (int row, int col) const;
|
|
void operator ++ ();
|
|
int& operator * ();
|
|
Example& operator ++ (); // prefix ++
|
|
Example operator ++ (int); // postfix ++
|
|
|
|
bool operator < (const Example& lhs, const Example& rhs) const;
|
|
|
|
int operator () (int index)
|
|
{
|
|
i = ~~3;
|
|
return index + 1;
|
|
}
|
|
|
|
char& operator [] (unsigned i)
|
|
{
|
|
return m_array[i & 0xff];
|
|
}
|
|
}
|
|
bool Example::operator == (const Example& other) const
|
|
{
|
|
/*TODO: compare something? */
|
|
return false;
|
|
}
|
|
bool Example::operator != (const Example& other) const
|
|
{
|
|
return !operator == (other);
|
|
}
|
|
|
|
|
|
void a() {
|
|
Op op = &X::operator ==;
|
|
if (!A)
|
|
if (op != &X::operator ==)
|
|
A(1) = a;
|
|
if (!A) {
|
|
if (op != &X::operator ==)
|
|
A(1) = a;
|
|
}
|
|
}
|
|
|
|
void *operator new (std::size_t) throw(std::bad_alloc);
|
|
void *operator new[] (std::size_t) throw(std::bad_alloc);
|
|
void operator delete (void *) throw();
|
|
void operator delete[] (void *) throw();
|