From 98dba897268a8c7f6e2eaf807c83502b8835f6da Mon Sep 17 00:00:00 2001 From: Ashish Chaudhari Date: Mon, 7 Mar 2016 17:43:01 -0800 Subject: experts: Print values of data nodes when debugging --- host/lib/experts/expert_nodes.hpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'host/lib/experts/expert_nodes.hpp') diff --git a/host/lib/experts/expert_nodes.hpp b/host/lib/experts/expert_nodes.hpp index c89f4f3a8..dc5cc934b 100644 --- a/host/lib/experts/expert_nodes.hpp +++ b/host/lib/experts/expert_nodes.hpp @@ -59,6 +59,8 @@ namespace uhd { namespace experts { virtual const std::string& get_dtype() const = 0; + virtual std::string to_string() const = 0; + // Graph resolution specific virtual bool is_dirty() const = 0; virtual void mark_clean() = 0; @@ -81,6 +83,23 @@ namespace uhd { namespace experts { const std::string _name; }; + class data_node_printer { + public: + //Generic implementation + template + static std::string print(const data_t& val) { + std::ostringstream os; + os << val; + return os.str(); + } + + static std::string print(const boost::uint8_t& val) { + std::ostringstream os; + os << int(val); + return os.str(); + } + }; + /*!--------------------------------------------------------- * class data_node_t * @@ -120,6 +139,10 @@ namespace uhd { namespace experts { return dtype; } + virtual std::string to_string() const { + return data_node_printer::print(get()); + } + inline node_author_t get_author() const { return _author; } @@ -431,6 +454,10 @@ namespace uhd { namespace experts { return dtype; } + virtual std::string to_string() const { + return ""; + } + // Workers don't have callbacks so implement stubs virtual void set_write_callback(const callback_func_t&) {} virtual bool has_write_callback() const { return false; } -- cgit v1.2.3