Program Listing for File labeled.hpp

Return to documentation for file (SeQuant/core/expressions/labeled.hpp)

#ifndef SEQUANT_EXPRESSIONS_LABELED_HPP
#define SEQUANT_EXPRESSIONS_LABELED_HPP

#include <string_view>

namespace sequant {

class Labeled {
 public:
  Labeled() = default;
  virtual ~Labeled() = default;

  virtual std::wstring_view label() const = 0;
};

class MutatableLabeled : public Labeled {
 public:
  using Labeled::Labeled;

  virtual void set_label(std::wstring label) = 0;
};

}  // namespace sequant

#endif  // SEQUANT_EXPRESSIONS_LABELED_HPP