std::string name() const {
   TeuchosOStringStream ss;
   ss << "Poisson1D(basis=";
   basis_.print(ss);
   ss << ")";
   return ss.str();
 }
string RegionQuadCombo::toString() const
{
  TeuchosOStringStream oss;
  Tabs tabs;

  oss << "Integration Region" << std::endl;
  {
    oss << tabs << "cell filter=" << domain_->description() << std::endl;
    oss << tabs << "quadrature rule=" << quad_->description() << std::endl;
    oss << tabs << "watchpoint=[" << watch().name() << "]" << std::endl;
  }
  return oss.str();
}
std::string SpatialDerivSpecifier::toString() const 
{
  TeuchosOStringStream os;
  os << *this;
  return os.str();
}
string AlgebraSpecifier::toString() const 
{
  TeuchosOStringStream os;
  os << *this;
  return os.str();
}