mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
cpp11 branch - committing the merge (rest of it)
git-svn-id: svn://ultimatepp.org/upp/trunk@7048 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
51687976c2
commit
e5dfeba4be
58 changed files with 1176 additions and 2335 deletions
|
|
@ -6,50 +6,13 @@ struct Person : Moveable<Person> {
|
|||
String name;
|
||||
String surname;
|
||||
|
||||
unsigned GetHashValue() const { return CombineHash(name, surname); }
|
||||
bool operator==(const Person& b) const { return name == b.name && surname == b.surname; }
|
||||
|
||||
Person(String name, String surname) : name(name), surname(surname) {}
|
||||
Person() {}
|
||||
};
|
||||
|
||||
unsigned GetHashValue(const Person& p)
|
||||
{
|
||||
return CombineHash(p.name, p.surname);
|
||||
}
|
||||
|
||||
bool operator==(const Person& a, const Person& b)
|
||||
{
|
||||
return a.name == b.name && a.surname == b.surname;
|
||||
}
|
||||
|
||||
struct Number {
|
||||
virtual double Get() const = 0;
|
||||
|
||||
String ToString() const { return AsString(Get()); }
|
||||
};
|
||||
|
||||
struct Integer : public Number {
|
||||
int n;
|
||||
virtual double Get() const { return n; }
|
||||
|
||||
Integer(int n) : n(n) {}
|
||||
};
|
||||
|
||||
struct Double : public Number {
|
||||
double n;
|
||||
virtual double Get() const { return n; }
|
||||
|
||||
Double(double n) : n(n) {}
|
||||
};
|
||||
|
||||
unsigned GetHashValue(const Number& n)
|
||||
{
|
||||
return GetHashValue(n.Get());
|
||||
}
|
||||
|
||||
bool operator==(const Number& a, const Number& b)
|
||||
{
|
||||
return a.Get() == b.Get();
|
||||
}
|
||||
|
||||
CONSOLE_APP_MAIN
|
||||
{
|
||||
Index<Person> p;
|
||||
|
|
@ -58,12 +21,4 @@ CONSOLE_APP_MAIN
|
|||
p.Add(Person("Carl", "Engles"));
|
||||
|
||||
DUMP(p.Find(Person("Paul", "Carpenter")));
|
||||
|
||||
ArrayIndex<Number> n;
|
||||
n.Add(new Integer(100));
|
||||
n.Add(new Double(10.5));
|
||||
n.Add(new Integer(200));
|
||||
n.Add(new Double(20.5));
|
||||
|
||||
DUMP(n.Find(Double(10.5)));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue