[nemiver] Add a bunch of operators to Address
- From: Dodji Seketeli <dodji src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nemiver] Add a bunch of operators to Address
- Date: Mon, 6 Sep 2010 19:53:16 +0000 (UTC)
commit c94f28763c5409a033f9e414ef0258bb2592fde3
Author: Dodji Seketeli <dodji redhat com>
Date: Mon Sep 6 11:34:29 2010 +0200
Add a bunch of operators to Address
* src/common/nmv-address.[cc|h] (operator<, operator>, operator<=)
(operator>=, operator==(const Address&)): New operators.
(operator==(size_t), operator== (const std::string)): Turn these
operators into member operators, instead of friend.
src/common/nmv-address.cc | 40 ++++++++++++++++++++++++++++++++++------
src/common/nmv-address.h | 9 +++++++--
2 files changed, 41 insertions(+), 8 deletions(-)
---
diff --git a/src/common/nmv-address.cc b/src/common/nmv-address.cc
index 68c2bbd..3e5d6fe 100644
--- a/src/common/nmv-address.cc
+++ b/src/common/nmv-address.cc
@@ -102,6 +102,36 @@ Address::operator= (const std::string &a_addr)
return *this;
}
+bool
+Address::operator< (const Address &a_addr) const
+{
+ return ((size_t) *this < (size_t) a_addr);
+}
+
+bool
+Address::operator> (const Address &a_addr) const
+{
+ return ((size_t) *this > (size_t) a_addr);
+}
+
+bool
+Address::operator>= (const Address &a_addr) const
+{
+ return ((size_t) *this >= (size_t) a_addr);
+}
+
+bool
+Address::operator<= (const Address &a_addr) const
+{
+ return ((size_t) *this <= (size_t) a_addr);
+}
+
+bool
+Address::operator== (const Address &a_addr) const
+{
+ return ((size_t) *this == (size_t)a_addr);
+}
+
const char&
Address::operator[] (size_t a_index) const
{
@@ -115,17 +145,15 @@ Address::clear ()
}
bool
-operator== (const Address &a_address,
- const std::string &a_addr)
+Address::operator== (const std::string &a_addr) const
{
- return a_address.m_addr == a_addr;
+ return m_addr == a_addr;
}
bool
-operator== (const Address &a_address,
- size_t a_addr)
+Address::operator== (size_t a_addr) const
{
- return (size_t) a_address == a_addr;
+ return (size_t) *this == a_addr;
}
NEMIVER_END_NAMESPACE (common)
diff --git a/src/common/nmv-address.h b/src/common/nmv-address.h
index 94562aa..f4fa61a 100644
--- a/src/common/nmv-address.h
+++ b/src/common/nmv-address.h
@@ -44,9 +44,14 @@ public:
operator size_t () const;
size_t size () const;
size_t string_size () const;
+ bool operator< (const Address&) const;
+ bool operator<= (const Address&) const;
+ bool operator> (const Address&) const;
+ bool operator>= (const Address&) const;
+ bool operator== (const Address&) const;
+ bool operator== (const std::string &) const;
+ bool operator== (size_t) const;
Address& operator= (const std::string &);
- friend bool operator== (const Address&, const std::string &);
- friend bool operator== (const Address&, size_t);
const char& operator[] (size_t) const;
void clear ();
};// end class Address
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]