template <class T>
std::string dumpint(T const & v,
typename boost::enable_if<boost::is_unsigned<T> >::type * = 0);
+
+ template <class T>
+ std::string dumpint(T const & v,
+ typename boost::enable_if<boost::is_signed<typename T::value_type> >::type * = 0);
+
+ template <class T>
+ std::string dumpint(T const & v,
+ typename boost::enable_if<boost::is_unsigned<typename T::value_type> >::type * = 0);
#endif
+
+ class IndentHelper
+ {
+ static unsigned int static_level;
+
+ unsigned int instance_level;
+ public:
+ IndentHelper () : instance_level(1) { ++static_level; }
+ ~IndentHelper () { static_level -= instance_level; }
+ void increase() { ++static_level; ++instance_level; }
+
+ friend std::ostream & operator<<(std::ostream & os, IndentHelper const & indent);
+ };
+ std::ostream & operator<<(std::ostream & os, IndentHelper const & indent);
}}