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:
cxl 2014-03-16 16:35:29 +00:00
parent 51687976c2
commit e5dfeba4be
58 changed files with 1176 additions and 2335 deletions

View file

@ -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)));
}