[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5255] Add a general numeric input-sequence type
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5255] Add a general numeric input-sequence type |
Date: |
Wed, 17 Aug 2011 14:57:26 +0000 |
Revision: 5255
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5255
Author: chicares
Date: 2011-08-17 14:57:25 +0000 (Wed, 17 Aug 2011)
Log Message:
-----------
Add a general numeric input-sequence type
Modified Paths:
--------------
lmi/trunk/datum_sequence.cpp
lmi/trunk/datum_sequence.hpp
Modified: lmi/trunk/datum_sequence.cpp
===================================================================
--- lmi/trunk/datum_sequence.cpp 2011-08-15 01:50:32 UTC (rev 5254)
+++ lmi/trunk/datum_sequence.cpp 2011-08-17 14:57:25 UTC (rev 5255)
@@ -169,8 +169,26 @@
return lhs.equals(rhs);
}
-// Payments.
+// Numeric MVC input sequence.
+numeric_sequence& numeric_sequence::operator=(std::string const& s)
+{
+ datum_sequence::operator=(s);
+ return *this;
+}
+
+std::map<std::string,std::string> const numeric_sequence::allowed_keywords()
const
+{
+ return datum_sequence::allowed_keywords();
+}
+
+bool operator==(numeric_sequence const& lhs, numeric_sequence const& rhs)
+{
+ return lhs.equals(rhs);
+}
+
+// MVC input sequence for payments.
+
payment_sequence& payment_sequence::operator=(std::string const& s)
{
datum_sequence::operator=(s);
@@ -205,7 +223,7 @@
return lhs.equals(rhs);
}
-// Payment modes.
+// MVC input sequence for payment mode.
mode_sequence& mode_sequence::operator=(std::string const& s)
{
Modified: lmi/trunk/datum_sequence.hpp
===================================================================
--- lmi/trunk/datum_sequence.hpp 2011-08-15 01:50:32 UTC (rev 5254)
+++ lmi/trunk/datum_sequence.hpp 2011-08-17 14:57:25 UTC (rev 5255)
@@ -108,6 +108,39 @@
return from.value();
}
+/// Numeric MVC input sequence.
+
+class numeric_sequence
+ :public datum_sequence
+ ,private boost::equality_comparable<numeric_sequence,numeric_sequence>
+{
+ public:
+ numeric_sequence() {}
+ explicit numeric_sequence(std::string const& s) : datum_sequence(s) {}
+
+ numeric_sequence& operator=(std::string const&);
+
+ virtual bool numeric_values_are_allowable() const {return true;}
+ virtual bool keyword_values_are_allowable() const {return false;}
+ virtual std::map<std::string,std::string> const allowed_keywords() const;
+};
+
+bool operator==(numeric_sequence const&, numeric_sequence const&);
+
+template<> inline numeric_sequence value_cast<numeric_sequence,std::string>
+ (std::string const& from)
+{
+ return numeric_sequence(from);
+}
+
+template<> inline std::string value_cast<std::string,numeric_sequence>
+ (numeric_sequence const& from)
+{
+ return from.value();
+}
+
+/// MVC input sequence for payments.
+
class payment_sequence
:public datum_sequence
,private boost::equality_comparable<payment_sequence,payment_sequence>
@@ -137,6 +170,8 @@
return from.value();
}
+/// MVC input sequence for payment mode.
+
class mode_sequence
:public datum_sequence
,private boost::equality_comparable<mode_sequence,mode_sequence>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5255] Add a general numeric input-sequence type,
Greg Chicares <=