80 if (
this == &src) {
return *
this; }
88 if (
this == &src) {
return *
this; }
89 _file_ = std::move(src._file_);
90 _line_ = std::move(src._line_);
131 if (
this == &src) {
return *
this; }
138 if (
this == &src) {
return *
this; }
139 _pos_ = std::move(src._pos_);
140 _value_ = std::move(src._value_);
176 if (
this == &src) {
return *
this; }
183 if (
this == &src) {
return *
this; }
184 _pos_ = std::move(src._pos_);
185 _value_ = std::move(src._value_);
222 if (
this == &src) {
return *
this; }
229 if (
this == &src) {
return *
this; }
230 _pos_ = std::move(src._pos_);
268 if (
this == &src) {
return *
this; }
275 if (
this == &src) {
return *
this; }
276 _pos_ = std::move(src._pos_);
277 _label_ = std::move(src._label_);
313 if (
this == &src) {
return *
this; }
323 if (
this == &src) {
return *
this; }
324 _pos_ = std::move(src._pos_);
325 _name_ = std::move(src._name_);
376 if (
this == &src) {
return *
this; }
386 if (
this == &src) {
return *
this; }
387 _pos_ = std::move(src._pos_);
388 _name_ = std::move(src._name_);
389 _start_ = std::move(src._start_);
390 _end_ = std::move(src._end_);
437 if (
this == &src) {
return *
this; }
447 if (
this == &src) {
return *
this; }
449 _pos_ = std::move(src._pos_);
450 _name_ = std::move(src._name_);
473 GUM_CONSTRUCTOR(
O3PRM);
481 auto boolean = std::unique_ptr< O3Type >(
new O3Type());
482 boolean->name() = std::move(name);
483 boolean->labels() = std::move(labels);
484 _types_.push_back(std::move(
boolean));
489 for (
const auto& t: src.
_types_) {
505 _systems_.emplace_back(
new O3System(*s));
508 _imports_.emplace_back(
new O3Import(*i));
521 GUM_DESTRUCTOR(
O3PRM);
526 if (
this == &src) {
return *
this; }
527 for (
const auto& t: src.
_types_) {
552 if (
this == &src) {
return *
this; }
616 if (
this == &src) {
return *
this; }
624 if (
this == &src) {
return *
this; }
625 _type_ = std::move(src._type_);
626 _name_ = std::move(src._name_);
651 _elts_ = std::unique_ptr< O3InterfaceElementList >(copy);
666 if (
this == &src) {
return *
this; }
671 _elts_ = std::unique_ptr< O3InterfaceElementList >(copy);
676 if (
this == &src) {
return *
this; }
677 _pos_ = std::move(src._pos_);
678 _name_ = std::move(src._name_);
680 _elts_ = std::move(src._elts_);
729 if (
this == &src) {
return *
this; }
737 if (
this == &src) {
return *
this; }
738 _type_ = std::move(src._type_);
739 _name_ = std::move(src._name_);
785 if (
this == &src) {
return *
this; }
793 if (
this == &src) {
return *
this; }
805 return std::unique_ptr< O3Attribute >(
copy);
836 if (
this == &src) {
return *
this; }
844 if (
this == &src) {
return *
this; }
847 _rules_ = std::move(src._rules_);
857 return std::unique_ptr< O3Attribute >(
copy);
867 _params_ = std::unique_ptr< O3ParameterList >(p);
870 _refs_ = std::unique_ptr< O3ReferenceSlotList >(r);
873 _attrs_ = std::unique_ptr< O3AttributeList >(e);
876 _aggs_ = std::unique_ptr< O3AggregateList >(a);
886 _params_ = std::unique_ptr< O3ParameterList >(p);
889 _refs_ = std::unique_ptr< O3ReferenceSlotList >(r);
892 _attrs_ = std::unique_ptr< O3AttributeList >(e);
894 _attrs_->push_back(elt->copy());
898 _aggs_ = std::unique_ptr< O3AggregateList >(a);
915 if (
this == &src) {
return *
this; }
924 _params_ = std::unique_ptr< O3ParameterList >(p);
927 _refs_ = std::unique_ptr< O3ReferenceSlotList >(r);
930 _attrs_ = std::unique_ptr< O3AttributeList >(e);
932 _attrs_->push_back(elt->copy());
936 _aggs_ = std::unique_ptr< O3AggregateList >(a);
941 if (
this == &src) {
return *
this; }
942 _pos_ = std::move(src._pos_);
943 _name_ = std::move(src._name_);
947 _refs_ = std::move(src._refs_);
948 _attrs_ = std::move(src._attrs_);
949 _aggs_ = std::move(src._aggs_);
1017 if (
this == &src) {
return *
this; }
1026 if (
this == &src) {
return *
this; }
1027 _type_ = std::move(src._type_);
1028 _pos_ = std::move(src._pos_);
1029 _name_ = std::move(src._name_);
1030 _value_ = std::move(src._value_);
1077 if (
this == &src) {
return *
this; }
1085 if (
this == &src) {
return *
this; }
1086 _type_ = std::move(src._type_);
1087 _name_ = std::move(src._name_);
1128 if (
this == &src) {
return *
this; }
1138 if (
this == &src) {
return *
this; }
1141 _name_ = std::move(src._name_);
1193 if (
this == &src) {
return *
this; }
1203 if (
this == &src) {
return *
this; }
1258 if (
this == &src) {
return *
this; }
1268 if (
this == &src) {
return *
this; }
1320 if (
this == &src) {
return *
this; }
1329 if (
this == &src) {
return *
this; }
1330 _type_ = std::move(src._type_);
1331 _name_ = std::move(src._name_);
1332 _size_ = std::move(src._size_);
1378 if (
this == &src) {
return *
this; }
1387 if (
this == &src) {
return *
this; }
1388 _name_ = std::move(src._name_);
1434 if (
this == &src) {
return *
this; }
1442 if (
this == &src) {
return *
this; }
1443 _name_ = std::move(src._name_);
1444 _value_ = std::move(src._value_);
1480 if (
this == &src) {
return *
this; }
1486 if (
this == &src) {
return *
this; }
1487 _import_ = std::move(src._import_);
Headers for the AST of the O3PRM language.
O3LabelList & parameters()
O3Aggregate & operator=(const O3Aggregate &src)
std::vector< O3Label > O3LabelList
O3Label & aggregateType()
O3Assignment & operator=(const O3Assignment &src)
O3Label & rightInstance()
O3Label & leftReference()
virtual O3Attribute & operator=(const O3Attribute &src)
std::vector< O3Label > O3LabelList
virtual O3LabelList & parents()
The O3Class is part of the AST of the O3PRM language.
O3ParameterList & parameters()
std::vector< std::unique_ptr< O3Attribute > > O3AttributeList
std::unique_ptr< O3ParameterList > _params_
std::vector< O3Aggregate > O3AggregateList
std::vector< O3Label > O3LabelList
std::vector< O3Parameter > O3ParameterList
std::unique_ptr< O3ReferenceSlotList > _refs_
O3AggregateList & aggregates()
O3LabelList & interfaces()
std::unique_ptr< O3AttributeList > _attrs_
std::unique_ptr< O3LabelList > _interfaces_
std::unique_ptr< O3AggregateList > _aggs_
O3ReferenceSlotList & referenceSlots()
O3Class & operator=(const O3Class &src)
std::vector< O3ReferenceSlot > O3ReferenceSlotList
O3AttributeList & attributes()
The O3Float is part of the AST of the O3PRM language.
O3Float & operator=(const O3Float &src)
The O3Import is part of the AST of the O3PRM language.
O3Import & operator=(const O3Import &src)
O3Label & leftReference()
O3Increment & operator=(const O3Increment &src)
O3Label & rightInstance()
O3InstanceParameter & operator=(const O3InstanceParameter &src)
O3InstanceParameterList _parameters_
O3Instance & operator=(const O3Instance &src)
O3InstanceParameterList & parameters()
std::vector< O3InstanceParameter > O3InstanceParameterList
The O3IntType is part of the AST of the O3PRM language.
O3IntType & operator=(const O3IntType &src)
bool & o3prm_deprecated()
The O3Integer is part of the AST of the O3PRM language.
O3Integer & operator=(const O3Integer &src)
O3InterfaceElement & operator=(const O3InterfaceElement &src)
The O3Interface is part of the AST of the O3PRM language.
std::vector< O3InterfaceElement > O3InterfaceElementList
O3Interface & operator=(const O3Interface &src)
std::unique_ptr< O3InterfaceElementList > _elts_
O3InterfaceElementList & elements()
The O3Label is part of the AST of the O3PRM language.
O3Label & operator=(const O3Label &src)
std::vector< std::unique_ptr< O3Type > > O3TypeList
std::vector< std::unique_ptr< O3Interface > > O3InterfaceList
std::vector< std::unique_ptr< O3IntType > > O3IntTypeList
O3PRM & operator=(const O3PRM &src)
O3RealTypeList _real_types_
O3InterfaceList _interfaces_
std::vector< std::unique_ptr< O3RealType > > O3RealTypeList
O3InterfaceList & interfaces()
O3RealTypeList & real_types()
std::vector< std::unique_ptr< O3Class > > O3ClassList
std::vector< std::unique_ptr< O3System > > O3SystemList
O3IntTypeList _int_types_
std::vector< std::unique_ptr< O3Import > > O3ImportList
O3IntTypeList & int_types()
O3Parameter & operator=(const O3Parameter &src)
The O3Position is part of the AST of the O3PRM language.
O3Position & operator=(const O3Position &src)
virtual O3FormulaList & values()
std::unique_ptr< O3FormulaList > _values_
std::vector< O3Formula > O3FormulaList
virtual O3RawCPT & operator=(const O3RawCPT &src)
virtual std::unique_ptr< O3Attribute > copy() const
The O3RealType is part of the AST of the O3PRM language.
std::vector< O3Float > _values_
O3RealType & operator=(const O3RealType &src)
bool & o3prm_deprecated()
std::vector< O3Float > & values()
O3ReferenceSlot & operator=(const O3ReferenceSlot &src)
virtual O3RuleCPT & operator=(const O3RuleCPT &src)
virtual O3RuleList & rules()
std::vector< O3Rule > O3RuleList
virtual std::unique_ptr< O3Attribute > copy() const
std::unique_ptr< O3RuleList > _rules_
The O3System is part of the AST of the O3PRM language.
std::vector< O3Increment > O3IncrementList
O3AssignmentList & assignments()
O3AssignmentList _assigments_
std::vector< O3Instance > O3InstanceList
O3InstanceList & instances()
O3System & operator=(const O3System &src)
O3IncrementList & increments()
O3InstanceList _instances_
O3IncrementList _increments_
std::vector< O3Assignment > O3AssignmentList
The O3Type is part of the AST of the O3PRM language.
O3Type & operator=(const O3Type &src)
std::pair< O3Label, O3Label > LabelPair
std::vector< LabelPair > LabelMap
bool & o3prm_deprecated()
std::ostream & operator<<(std::ostream &o, const O3Label &src)
namespace for all probabilistic relational models entities
gum is the global namespace for all aGrUM entities