31#ifndef BERTINI_FUNCTION_TREE_SYMBOL_HPP
32#define BERTINI_FUNCTION_TREE_SYMBOL_HPP
56 template <
typename Archive>
57 void serialize(Archive& ar,
const unsigned ) {
58 ar & boost::serialization::base_object<Node>(*
this);
81 const std::string&
name()
const
87 void name(
const std::string& new_name)
106 template <
typename Archive>
107 void serialize(Archive& ar,
const unsigned ) {
128 const std::string &
name()
const;
133 void name(
const std::string & new_name);
142 void print(std::ostream& target)
const override;
155 template <
typename Archive>
156 void serialize(Archive& ar,
const unsigned ) {
157 ar & boost::serialization::base_object<Symbol>(*
this);
NameHolder(std::string new_name)
Construct holding the given name.
Definition symbol.hpp:98
std::string name_
The stored name.
Definition symbol.hpp:101
void name(const std::string &new_name)
Set the name.
Definition symbol.hpp:87
friend class boost::serialization::access
Definition symbol.hpp:104
const std::string & name() const
Definition symbol.hpp:81
NamedSymbol(const std::string &new_name)
Parameterized constructor, sets the name of the symbol.
virtual ~NamedSymbol()=default
std::string name_
The stored name.
Definition symbol.hpp:149
friend class boost::serialization::access
Definition symbol.hpp:153
const std::string & name() const
Get the name of the named symbol.
void name(const std::string &new_name)
Get the name of the named symbol.
void print(std::ostream &target) const override
Virtual method for printing Nodes to arbitrary output streams.
Abstract symbol class.
Definition symbol.hpp:47
virtual ~Symbol()=default
friend class boost::serialization::access
Definition symbol.hpp:54
Definition canonical.hpp:56
Definition algorithm_builder.hpp:36
Defines the abstract Node base class.