#include "pri.hh"
#include <sstream>
+std::ostream &
+pri::operator << (std::ostream &os, pri::pribase const &obj)
+{
+ return os << obj.m_s;
+}
+
pri::attr::attr (int attr_name)
: pribase (dwarf_attr_string (attr_name))
{}
: pribase (dwarf_tag_string (die_tag))
{}
-std::ostream &
-pri::operator << (std::ostream &os, pri::pribase const &obj)
-{
- return os << obj.m_a << obj.m_b << obj.m_c;
-}
-
std::ostream &
pri::operator << (std::ostream &os, pri::ref const &obj)
{
{
class pribase
{
- std::string const &m_a;
- std::string const &m_b;
- std::string const &m_c;
+ std::string m_s;
protected:
pribase (std::string const &a,
std::string const &b = "",
std::string const &c = "")
- : m_a (a), m_b (b), m_c (c)
+ : m_s (a + b + c)
{}
friend std::ostream &operator << (std::ostream &os, pribase const &obj);
};