diff options
Diffstat (limited to 'libmysqlpp/my-opts.cpp')
-rw-r--r-- | libmysqlpp/my-opts.cpp | 34 |
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); +} + |