summaryrefslogtreecommitdiff
path: root/libmysqlpp/my-opts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libmysqlpp/my-opts.cpp')
-rw-r--r--libmysqlpp/my-opts.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/libmysqlpp/my-opts.cpp b/libmysqlpp/my-opts.cpp
new file mode 100644
index 0000000..b0a777d
--- /dev/null
+++ b/libmysqlpp/my-opts.cpp
@@ -0,0 +1,34 @@
+#include "my-opts.h"
+
+namespace MySQL {
+ const char *
+ operator~(const OptString & os)
+ {
+ if (os) {
+ return os->c_str();
+ }
+ return NULL;
+ }
+}
+
+namespace std {
+ template <typename T>
+ std::istream &
+ operator>>(std::istream & s, std::vector<T> & o)
+ {
+ o.push_back(T());
+ return (s >> o.back());
+ }
+
+ template <typename T>
+ std::istream &
+ operator>>(std::istream & s, boost::optional<T> & o)
+ {
+ o = T();
+ return (s >> *o);
+ }
+
+ template std::istream & operator>>(std::istream & s, boost::optional<std::string> & o);
+ template std::istream & operator>>(std::istream & s, std::vector<std::string> & o);
+}
+