From 9f51cfdedeae4e79d51ca8164140d59536a8073f Mon Sep 17 00:00:00 2001 From: Artem Pavlenko Date: Sun, 8 Nov 2009 10:35:29 +0000 Subject: [PATCH] + apply mapnik formatting + change order of template specialization (tidy) --- include/mapnik/value.hpp | 1111 +++++++++++++++++++------------------- 1 file changed, 555 insertions(+), 556 deletions(-) diff --git a/include/mapnik/value.hpp b/include/mapnik/value.hpp index 113b5b5f5..6a84eca90 100644 --- a/include/mapnik/value.hpp +++ b/include/mapnik/value.hpp @@ -44,671 +44,670 @@ namespace mapnik { - inline void to_utf8(UnicodeString const& input, std::string & target) - { - if (input.length() == 0) return; +inline void to_utf8(UnicodeString const& input, std::string & target) +{ + if (input.length() == 0) return; - const int BUF_SIZE = 256; - char buf [BUF_SIZE]; - int len; + const int BUF_SIZE = 256; + char buf [BUF_SIZE]; + int len; - UErrorCode err = U_ZERO_ERROR; - u_strToUTF8(buf, BUF_SIZE, &len, input.getBuffer(), input.length(), &err); - if (err == U_BUFFER_OVERFLOW_ERROR || err == U_STRING_NOT_TERMINATED_WARNING ) - { - boost::scoped_array buf_ptr(new char [len+1]); - err = U_ZERO_ERROR; - u_strToUTF8(buf_ptr.get() , len + 1, &len, input.getBuffer(), input.length(), &err); - target.assign(buf_ptr.get() , len); - } - else - { - target.assign(buf, len); - } - } + UErrorCode err = U_ZERO_ERROR; + u_strToUTF8(buf, BUF_SIZE, &len, input.getBuffer(), input.length(), &err); + if (err == U_BUFFER_OVERFLOW_ERROR || err == U_STRING_NOT_TERMINATED_WARNING ) + { + boost::scoped_array buf_ptr(new char [len+1]); + err = U_ZERO_ERROR; + u_strToUTF8(buf_ptr.get() , len + 1, &len, input.getBuffer(), input.length(), &err); + target.assign(buf_ptr.get() , len); + } + else + { + target.assign(buf, len); + } +} - struct value_null - { - }; +struct value_null {}; - typedef boost::variant value_base; +typedef boost::variant value_base; - namespace impl { - struct equals - : public boost::static_visitor - { - template - bool operator() (const T &, const U &) const - { - return false; - } +namespace impl { +struct equals + : public boost::static_visitor +{ + template + bool operator() (const T &, const U &) const + { + return false; + } - template - bool operator() (T lhs, T rhs) const - { - return lhs == rhs; - } + template + bool operator() (T lhs, T rhs) const + { + return lhs == rhs; + } - bool operator() (int lhs, double rhs) const - { - return lhs == rhs; - } + bool operator() (int lhs, double rhs) const + { + return lhs == rhs; + } - bool operator() (double lhs, int rhs) const - { - return (lhs == rhs)? true : false ; - } + bool operator() (double lhs, int rhs) const + { + return (lhs == rhs)? true : false ; + } - bool operator() (UnicodeString const& lhs, - UnicodeString const& rhs) const - { - return (lhs == rhs) ? true: false; - } + bool operator() (UnicodeString const& lhs, + UnicodeString const& rhs) const + { + return (lhs == rhs) ? true: false; + } - bool operator() (value_null, value_null) const - { - return false; - } - }; + bool operator() (value_null, value_null) const + { + return false; + } +}; - struct not_equals - : public boost::static_visitor - { - template - bool operator() (const T &, const U &) const - { - return true; - } +struct not_equals + : public boost::static_visitor +{ + template + bool operator() (const T &, const U &) const + { + return true; + } - template - bool operator() (T lhs, T rhs) const - { - return lhs != rhs; - } + template + bool operator() (T lhs, T rhs) const + { + return lhs != rhs; + } - bool operator() (int lhs, double rhs) const - { - return lhs != rhs; - } + bool operator() (int lhs, double rhs) const + { + return lhs != rhs; + } - bool operator() (double lhs, int rhs) const - { - return lhs != rhs; - } + bool operator() (double lhs, int rhs) const + { + return lhs != rhs; + } - bool operator() (UnicodeString const& lhs, - UnicodeString const& rhs) const - { - return (lhs != rhs)? true : false; - } + bool operator() (UnicodeString const& lhs, + UnicodeString const& rhs) const + { + return (lhs != rhs)? true : false; + } - bool operator() (value_null, value_null) const - { - return false; - } + bool operator() (value_null, value_null) const + { + return false; + } - template - bool operator() (value_null, const T &) const - { - return false; - } + template + bool operator() (value_null, const T &) const + { + return false; + } - template - bool operator() (const T &, value_null) const - { - return false; - } - }; + template + bool operator() (const T &, value_null) const + { + return false; + } +}; - struct greater_than - : public boost::static_visitor - { - template - bool operator()(const T &, const U &) const - { - return false; - } +struct greater_than + : public boost::static_visitor +{ + template + bool operator()(const T &, const U &) const + { + return false; + } - template - bool operator()(T lhs, T rhs) const - { - return lhs > rhs; - } + template + bool operator()(T lhs, T rhs) const + { + return lhs > rhs; + } - bool operator() (int lhs, double rhs) const - { - return lhs > rhs; - } + bool operator() (int lhs, double rhs) const + { + return lhs > rhs; + } - bool operator() (double lhs, int rhs) const - { - return lhs > rhs; - } + bool operator() (double lhs, int rhs) const + { + return lhs > rhs; + } - bool operator() (UnicodeString const& lhs, UnicodeString const& rhs) const - { - return (lhs > rhs) ? true : false ; - } + bool operator() (UnicodeString const& lhs, UnicodeString const& rhs) const + { + return (lhs > rhs) ? true : false ; + } - bool operator() (value_null, value_null) const - { - return false; - } - }; + bool operator() (value_null, value_null) const + { + return false; + } +}; - struct greater_or_equal - : public boost::static_visitor - { - template - bool operator()(const T &, const U &) const - { - return false; - } +struct greater_or_equal + : public boost::static_visitor +{ + template + bool operator()(const T &, const U &) const + { + return false; + } - template - bool operator() (T lhs, T rhs) const - { - return lhs >= rhs; - } + template + bool operator() (T lhs, T rhs) const + { + return lhs >= rhs; + } - bool operator() (int lhs, double rhs) const - { - return lhs >= rhs; - } + bool operator() (int lhs, double rhs) const + { + return lhs >= rhs; + } - bool operator() (double lhs, int rhs) const - { - return lhs >= rhs; - } + bool operator() (double lhs, int rhs) const + { + return lhs >= rhs; + } - bool operator() (UnicodeString const& lhs, UnicodeString const& rhs) const - { - return ( lhs >= rhs ) ? true : false ; - } + bool operator() (UnicodeString const& lhs, UnicodeString const& rhs) const + { + return ( lhs >= rhs ) ? true : false ; + } - bool operator() (value_null, value_null) const - { - return false; - } - }; + bool operator() (value_null, value_null) const + { + return false; + } +}; - struct less_than - : public boost::static_visitor - { - template - bool operator()(const T &, const U &) const - { - return false; - } +struct less_than + : public boost::static_visitor +{ + template + bool operator()(const T &, const U &) const + { + return false; + } - template - bool operator()(T lhs, T rhs) const - { - return lhs < rhs; - } + template + bool operator()(T lhs, T rhs) const + { + return lhs < rhs; + } - bool operator() (int lhs, double rhs) const - { - return lhs < rhs; - } + bool operator() (int lhs, double rhs) const + { + return lhs < rhs; + } - bool operator() (double lhs, int rhs) const - { - return lhs < rhs; - } + bool operator() (double lhs, int rhs) const + { + return lhs < rhs; + } - bool operator()(UnicodeString const& lhs, - UnicodeString const& rhs ) const - { - return (lhs < rhs) ? true : false ; - } + bool operator()(UnicodeString const& lhs, + UnicodeString const& rhs ) const + { + return (lhs < rhs) ? true : false ; + } - bool operator() (value_null, value_null) const - { - return false; - } - }; + bool operator() (value_null, value_null) const + { + return false; + } +}; - struct less_or_equal - : public boost::static_visitor - { - template - bool operator()(const T &, const U &) const - { - return false; - } +struct less_or_equal + : public boost::static_visitor +{ + template + bool operator()(const T &, const U &) const + { + return false; + } - template - bool operator()(T lhs, T rhs) const - { - return lhs <= rhs; - } + template + bool operator()(T lhs, T rhs) const + { + return lhs <= rhs; + } - bool operator() (int lhs, double rhs) const - { - return lhs <= rhs; - } + bool operator() (int lhs, double rhs) const + { + return lhs <= rhs; + } - bool operator() (double lhs, int rhs) const - { - return lhs <= rhs; - } + bool operator() (double lhs, int rhs) const + { + return lhs <= rhs; + } - bool operator()(UnicodeString const& lhs, - UnicodeString const& rhs ) const - { - return (lhs <= rhs) ? true : false ; - } + bool operator()(UnicodeString const& lhs, + UnicodeString const& rhs ) const + { + return (lhs <= rhs) ? true : false ; + } - bool operator() (value_null, value_null) const - { - return false; - } - }; + bool operator() (value_null, value_null) const + { + return false; + } +}; - template - struct add : public boost::static_visitor - { - typedef V value_type; - template - value_type operator() (T1 const& lhs, T2 const&) const - { - return lhs; - } - template - value_type operator() (T lhs, T rhs) const - { - return lhs + rhs ; - } +template +struct add : public boost::static_visitor +{ + typedef V value_type; + template + value_type operator() (T1 const& lhs, T2 const&) const + { + return lhs; + } + template + value_type operator() (T lhs, T rhs) const + { + return lhs + rhs ; + } - value_type operator() (UnicodeString const& lhs , - UnicodeString const& rhs ) const - { - return lhs + rhs; - } + value_type operator() (UnicodeString const& lhs , + UnicodeString const& rhs ) const + { + return lhs + rhs; + } - value_type operator() (double lhs, int rhs) const - { - return lhs + rhs; - } + value_type operator() (double lhs, int rhs) const + { + return lhs + rhs; + } - value_type operator() (int lhs, double rhs) const - { - return lhs + rhs; - } - }; - template - struct sub : public boost::static_visitor - { - typedef V value_type; - template - value_type operator() (T1 const& lhs, T2 const&) const - { - return lhs; - } + value_type operator() (int lhs, double rhs) const + { + return lhs + rhs; + } +}; - template - value_type operator() (T lhs, T rhs) const - { - return lhs - rhs ; - } +template +struct sub : public boost::static_visitor +{ + typedef V value_type; + template + value_type operator() (T1 const& lhs, T2 const&) const + { + return lhs; + } - value_type operator() (UnicodeString const& lhs, - UnicodeString const& ) const - { - return lhs; - } + template + value_type operator() (T lhs, T rhs) const + { + return lhs - rhs ; + } + + value_type operator() (UnicodeString const& lhs, + UnicodeString const& ) const + { + return lhs; + } - value_type operator() (double lhs, int rhs) const - { - return lhs - rhs; - } + value_type operator() (double lhs, int rhs) const + { + return lhs - rhs; + } - value_type operator() (int lhs, double rhs) const - { - return lhs - rhs; - } - }; + value_type operator() (int lhs, double rhs) const + { + return lhs - rhs; + } +}; - template - struct mult : public boost::static_visitor - { - typedef V value_type; - template - value_type operator() (T1 const& lhs , T2 const& ) const - { - return lhs; - } - template - value_type operator() (T lhs, T rhs) const - { - return lhs * rhs; - } +template +struct mult : public boost::static_visitor +{ + typedef V value_type; + template + value_type operator() (T1 const& lhs , T2 const& ) const + { + return lhs; + } + template + value_type operator() (T lhs, T rhs) const + { + return lhs * rhs; + } - value_type operator() (UnicodeString const& lhs, - UnicodeString const& ) const - { - return lhs; - } + value_type operator() (UnicodeString const& lhs, + UnicodeString const& ) const + { + return lhs; + } - value_type operator() (double lhs, int rhs) const - { - return lhs * rhs; - } + value_type operator() (double lhs, int rhs) const + { + return lhs * rhs; + } - value_type operator() (int lhs, double rhs) const - { - return lhs * rhs; - } - }; + value_type operator() (int lhs, double rhs) const + { + return lhs * rhs; + } +}; - template - struct div: public boost::static_visitor - { - typedef V value_type; - template - value_type operator() (T1 const& lhs, T2 const&) const - { - return lhs; - } +template +struct div: public boost::static_visitor +{ + typedef V value_type; + template + value_type operator() (T1 const& lhs, T2 const&) const + { + return lhs; + } - template - value_type operator() (T lhs, T rhs) const - { - return lhs / rhs; - } + template + value_type operator() (T lhs, T rhs) const + { + return lhs / rhs; + } - value_type operator() (bool lhs, bool rhs ) const - { - boost::ignore_unused_variable_warning(lhs); - boost::ignore_unused_variable_warning(rhs); - return false; - } + value_type operator() (bool lhs, bool rhs ) const + { + boost::ignore_unused_variable_warning(lhs); + boost::ignore_unused_variable_warning(rhs); + return false; + } - value_type operator() (UnicodeString const& lhs, - UnicodeString const&) const - { - return lhs; - } + value_type operator() (UnicodeString const& lhs, + UnicodeString const&) const + { + return lhs; + } - value_type operator() (double lhs, int rhs) const - { - return lhs / rhs; - } + value_type operator() (double lhs, int rhs) const + { + return lhs / rhs; + } - value_type operator() (int lhs, double rhs) const - { - return lhs / rhs; - } - }; + value_type operator() (int lhs, double rhs) const + { + return lhs / rhs; + } +}; - template - struct mod: public boost::static_visitor - { - typedef V value_type; - template - value_type operator() (T1 const& lhs, T2 const&) const - { - return lhs; - } +template +struct mod: public boost::static_visitor +{ + typedef V value_type; + template + value_type operator() (T1 const& lhs, T2 const&) const + { + return lhs; + } - template - value_type operator() (T lhs, T rhs) const - { - return lhs % rhs; - } + template + value_type operator() (T lhs, T rhs) const + { + return lhs % rhs; + } - value_type operator() (UnicodeString const& lhs, - UnicodeString const&) const - { - return lhs; - } + value_type operator() (UnicodeString const& lhs, + UnicodeString const&) const + { + return lhs; + } - value_type operator() (bool lhs, - bool rhs) const - { - boost::ignore_unused_variable_warning(lhs); - boost::ignore_unused_variable_warning(rhs); - return false; - } + value_type operator() (bool lhs, + bool rhs) const + { + boost::ignore_unused_variable_warning(lhs); + boost::ignore_unused_variable_warning(rhs); + return false; + } - value_type operator() (double lhs, int rhs) const - { - return std::fmod(lhs, rhs); - } + value_type operator() (double lhs, int rhs) const + { + return std::fmod(lhs, rhs); + } - value_type operator() (int lhs, double rhs) const - { - return std::fmod(lhs, rhs); - } + value_type operator() (int lhs, double rhs) const + { + return std::fmod(lhs, rhs); + } - value_type operator() (double lhs, double rhs) const - { - return std::fmod(lhs, rhs); - } - }; + value_type operator() (double lhs, double rhs) const + { + return std::fmod(lhs, rhs); + } +}; - struct to_bool : public boost::static_visitor - { +struct to_bool : public boost::static_visitor +{ - template - bool operator() (T val) const - { - boost::ignore_unused_variable_warning(val); - throw config_error("Boolean value expected"); - } + template + bool operator() (T val) const + { + boost::ignore_unused_variable_warning(val); + throw config_error("Boolean value expected"); + } - bool operator() (bool val) const - { - return val; - } - }; + bool operator() (bool val) const + { + return val; + } +}; - struct to_string : public boost::static_visitor - { +struct to_string : public boost::static_visitor +{ - template - std::string operator() (T val) const - { - std::stringstream ss; - ss << val; - return ss.str(); - } - // specializations - std::string operator() (UnicodeString const& val) const - { - std::string utf8; - to_utf8(val,utf8); - return utf8; - } + template + std::string operator() (T val) const + { + std::stringstream ss; + ss << val; + return ss.str(); + } + // specializations + std::string operator() (UnicodeString const& val) const + { + std::string utf8; + to_utf8(val,utf8); + return utf8; + } - std::string operator() (double val) const - { - std::stringstream ss; - ss << std::setprecision(16) << val; - return ss.str(); - } + std::string operator() (double val) const + { + std::stringstream ss; + ss << std::setprecision(16) << val; + return ss.str(); + } - std::string operator() (value_null const& val) const - { - boost::ignore_unused_variable_warning(val); - return ""; - } - }; + std::string operator() (value_null const& val) const + { + boost::ignore_unused_variable_warning(val); + return ""; + } +}; - struct to_unicode : public boost::static_visitor - { +struct to_unicode : public boost::static_visitor +{ - template - UnicodeString operator() (T val) const - { - std::basic_ostringstream out; - out << val; - return UnicodeString(out.str().c_str()); - } + template + UnicodeString operator() (T val) const + { + std::basic_ostringstream out; + out << val; + return UnicodeString(out.str().c_str()); + } - // specializations - UnicodeString const& operator() (UnicodeString const& val) const - { - return val; - } + // specializations + UnicodeString const& operator() (UnicodeString const& val) const + { + return val; + } - UnicodeString operator() (double val) const - { - std::basic_ostringstream out; - out << std::setprecision(16) << val; - return UnicodeString(out.str().c_str()); - } + UnicodeString operator() (double val) const + { + std::basic_ostringstream out; + out << std::setprecision(16) << val; + return UnicodeString(out.str().c_str()); + } - UnicodeString operator() (value_null const& val) const - { - boost::ignore_unused_variable_warning(val); - return UnicodeString(""); - } - }; + UnicodeString operator() (value_null const& val) const + { + boost::ignore_unused_variable_warning(val); + return UnicodeString(""); + } +}; - struct to_expression_string : public boost::static_visitor - { - std::string operator() (UnicodeString const& val) const - { - std::string utf8; - to_utf8(val,utf8); - return "'" + utf8 + "'"; - } +struct to_expression_string : public boost::static_visitor +{ + std::string operator() (UnicodeString const& val) const + { + std::string utf8; + to_utf8(val,utf8); + return "'" + utf8 + "'"; + } - template - std::string operator() (T val) const - { - std::stringstream ss; - ss << val; - return ss.str(); - } - - std::string operator() (double val) const - { - std::stringstream ss; - ss << std::setprecision(16) << val; - return ss.str(); - } + std::string operator() (double val) const + { + std::stringstream ss; + ss << std::setprecision(16) << val; + return ss.str(); + } - std::string operator() (value_null const& val) const - { - boost::ignore_unused_variable_warning(val); - return "null"; - } - }; - } + std::string operator() (value_null const& val) const + { + boost::ignore_unused_variable_warning(val); + return "null"; + } + + template + std::string operator() (T val) const + { + std::stringstream ss; + ss << val; + return ss.str(); + } +}; +} - class value - { - value_base base_; - friend const value operator+(value const&,value const&); - friend const value operator-(value const&,value const&); - friend const value operator*(value const&,value const&); - friend const value operator/(value const&,value const&); - friend const value operator%(value const&,value const&); +class value +{ + value_base base_; + friend const value operator+(value const&,value const&); + friend const value operator-(value const&,value const&); + friend const value operator*(value const&,value const&); + friend const value operator/(value const&,value const&); + friend const value operator%(value const&,value const&); - public: - value () - : base_(value_null()) {} +public: + value () + : base_(value_null()) {} - template value(T _val_) - : base_(_val_) {} + template value(T _val_) + : base_(_val_) {} - bool operator==(value const& other) const - { - return boost::apply_visitor(impl::equals(),base_,other.base_); - } + bool operator==(value const& other) const + { + return boost::apply_visitor(impl::equals(),base_,other.base_); + } - bool operator!=(value const& other) const - { - return boost::apply_visitor(impl::not_equals(),base_,other.base_); - } + bool operator!=(value const& other) const + { + return boost::apply_visitor(impl::not_equals(),base_,other.base_); + } - bool operator>(value const& other) const - { - return boost::apply_visitor(impl::greater_than(),base_,other.base_); - } + bool operator>(value const& other) const + { + return boost::apply_visitor(impl::greater_than(),base_,other.base_); + } - bool operator>=(value const& other) const - { - return boost::apply_visitor(impl::greater_or_equal(),base_,other.base_); - } + bool operator>=(value const& other) const + { + return boost::apply_visitor(impl::greater_or_equal(),base_,other.base_); + } - bool operator<(value const& other) const - { - return boost::apply_visitor(impl::less_than(),base_,other.base_); - } + bool operator<(value const& other) const + { + return boost::apply_visitor(impl::less_than(),base_,other.base_); + } - bool operator<=(value const& other) const - { - return boost::apply_visitor(impl::less_or_equal(),base_,other.base_); - } + bool operator<=(value const& other) const + { + return boost::apply_visitor(impl::less_or_equal(),base_,other.base_); + } - value_base const& base() const - { - return base_; - } + value_base const& base() const + { + return base_; + } - bool to_bool() const - { - return boost::apply_visitor(impl::to_bool(),base_); - } + bool to_bool() const + { + return boost::apply_visitor(impl::to_bool(),base_); + } - std::string to_expression_string() const - { - return boost::apply_visitor(impl::to_expression_string(),base_); - } + std::string to_expression_string() const + { + return boost::apply_visitor(impl::to_expression_string(),base_); + } - std::string to_string() const - { - return boost::apply_visitor(impl::to_string(),base_); - } + std::string to_string() const + { + return boost::apply_visitor(impl::to_string(),base_); + } - UnicodeString to_unicode() const - { - return boost::apply_visitor(impl::to_unicode(),base_); - } - }; + UnicodeString to_unicode() const + { + return boost::apply_visitor(impl::to_unicode(),base_); + } +}; - inline const value operator+(value const& p1,value const& p2) - { +inline const value operator+(value const& p1,value const& p2) +{ - return value(boost::apply_visitor(impl::add(),p1.base_, p2.base_)); - } + return value(boost::apply_visitor(impl::add(),p1.base_, p2.base_)); +} - inline const value operator-(value const& p1,value const& p2) - { +inline const value operator-(value const& p1,value const& p2) +{ - return value(boost::apply_visitor(impl::sub(),p1.base_, p2.base_)); - } + return value(boost::apply_visitor(impl::sub(),p1.base_, p2.base_)); +} - inline const value operator*(value const& p1,value const& p2) - { +inline const value operator*(value const& p1,value const& p2) +{ - return value(boost::apply_visitor(impl::mult(),p1.base_, p2.base_)); - } + return value(boost::apply_visitor(impl::mult(),p1.base_, p2.base_)); +} - inline const value operator/(value const& p1,value const& p2) - { +inline const value operator/(value const& p1,value const& p2) +{ - return value(boost::apply_visitor(impl::div(),p1.base_, p2.base_)); - } + return value(boost::apply_visitor(impl::div(),p1.base_, p2.base_)); +} - inline const value operator%(value const& p1,value const& p2) - { +inline const value operator%(value const& p1,value const& p2) +{ - return value(boost::apply_visitor(impl::mod(),p1.base_, p2.base_)); - } + return value(boost::apply_visitor(impl::mod(),p1.base_, p2.base_)); +} - template - inline std::basic_ostream& - operator << (std::basic_ostream& out, - value const& v) - { +template +inline std::basic_ostream& +operator << (std::basic_ostream& out, + value const& v) +{ out << v.to_string(); return out; - } +} } #endif //VALUE_HPP