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_);
267 if (
this == &src) {
return *
this; }
274 if (
this == &src) {
return *
this; }
275 _pos_ = std::move(src._pos_);
276 _label_ = std::move(src._label_);
312 if (
this == &src) {
return *
this; }
322 if (
this == &src) {
return *
this; }
323 _pos_ = std::move(src._pos_);
324 _name_ = std::move(src._name_);
375 if (
this == &src) {
return *
this; }
385 if (
this == &src) {
return *
this; }
386 _pos_ = std::move(src._pos_);
387 _name_ = std::move(src._name_);
388 _start_ = std::move(src._start_);
389 _end_ = std::move(src._end_);
436 if (
this == &src) {
return *
this; }
446 if (
this == &src) {
return *
this; }
448 _pos_ = std::move(src._pos_);
449 _name_ = std::move(src._name_);
472 GUM_CONSTRUCTOR(
O3PRM);
480 auto boolean = std::unique_ptr< O3Type >(
new O3Type());
481 boolean->name() = std::move(name);
482 boolean->labels() = std::move(labels);
483 _types_.push_back(std::move(
boolean));
488 for (
const auto& t: src.
_types_) {
504 _systems_.emplace_back(
new O3System(*s));
507 _imports_.emplace_back(
new O3Import(*i));
520 GUM_DESTRUCTOR(
O3PRM);
525 if (
this == &src) {
return *
this; }
526 for (
const auto& t: src.
_types_) {
551 if (
this == &src) {
return *
this; }
615 if (
this == &src) {
return *
this; }
623 if (
this == &src) {
return *
this; }
624 _type_ = std::move(src._type_);
625 _name_ = std::move(src._name_);
650 _elts_ = std::unique_ptr< O3InterfaceElementList >(copy);
665 if (
this == &src) {
return *
this; }
670 _elts_ = std::unique_ptr< O3InterfaceElementList >(copy);
675 if (
this == &src) {
return *
this; }
676 _pos_ = std::move(src._pos_);
677 _name_ = std::move(src._name_);
679 _elts_ = std::move(src._elts_);
728 if (
this == &src) {
return *
this; }
736 if (
this == &src) {
return *
this; }
737 _type_ = std::move(src._type_);
738 _name_ = std::move(src._name_);
784 if (
this == &src) {
return *
this; }
792 if (
this == &src) {
return *
this; }
804 return std::unique_ptr< O3Attribute >(
copy);
835 if (
this == &src) {
return *
this; }
843 if (
this == &src) {
return *
this; }
846 _rules_ = std::move(src._rules_);
856 return std::unique_ptr< O3Attribute >(
copy);
866 _params_ = std::unique_ptr< O3ParameterList >(p);
869 _refs_ = std::unique_ptr< O3ReferenceSlotList >(r);
872 _attrs_ = std::unique_ptr< O3AttributeList >(e);
875 _aggs_ = std::unique_ptr< O3AggregateList >(a);
885 _params_ = std::unique_ptr< O3ParameterList >(p);
888 _refs_ = std::unique_ptr< O3ReferenceSlotList >(r);
891 _attrs_ = std::unique_ptr< O3AttributeList >(e);
893 _attrs_->push_back(elt->copy());
897 _aggs_ = std::unique_ptr< O3AggregateList >(a);
914 if (
this == &src) {
return *
this; }
923 _params_ = std::unique_ptr< O3ParameterList >(p);
926 _refs_ = std::unique_ptr< O3ReferenceSlotList >(r);
929 _attrs_ = std::unique_ptr< O3AttributeList >(e);
931 _attrs_->push_back(elt->copy());
935 _aggs_ = std::unique_ptr< O3AggregateList >(a);
940 if (
this == &src) {
return *
this; }
941 _pos_ = std::move(src._pos_);
942 _name_ = std::move(src._name_);
946 _refs_ = std::move(src._refs_);
947 _attrs_ = std::move(src._attrs_);
948 _aggs_ = std::move(src._aggs_);
1016 if (
this == &src) {
return *
this; }
1025 if (
this == &src) {
return *
this; }
1026 _type_ = std::move(src._type_);
1027 _pos_ = std::move(src._pos_);
1028 _name_ = std::move(src._name_);
1029 _value_ = std::move(src._value_);
1076 if (
this == &src) {
return *
this; }
1084 if (
this == &src) {
return *
this; }
1085 _type_ = std::move(src._type_);
1086 _name_ = std::move(src._name_);
1127 if (
this == &src) {
return *
this; }
1137 if (
this == &src) {
return *
this; }
1140 _name_ = std::move(src._name_);
1192 if (
this == &src) {
return *
this; }
1202 if (
this == &src) {
return *
this; }
1257 if (
this == &src) {
return *
this; }
1267 if (
this == &src) {
return *
this; }
1319 if (
this == &src) {
return *
this; }
1328 if (
this == &src) {
return *
this; }
1329 _type_ = std::move(src._type_);
1330 _name_ = std::move(src._name_);
1331 _size_ = std::move(src._size_);
1377 if (
this == &src) {
return *
this; }
1386 if (
this == &src) {
return *
this; }
1387 _name_ = std::move(src._name_);
1433 if (
this == &src) {
return *
this; }
1441 if (
this == &src) {
return *
this; }
1442 _name_ = std::move(src._name_);
1443 _value_ = std::move(src._value_);
1479 if (
this == &src) {
return *
this; }
1485 if (
this == &src) {
return *
this; }
1486 _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
std::unique_ptr< O3Attribute > copy() const override
virtual O3RawCPT & operator=(const O3RawCPT &src)
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)
std::unique_ptr< O3Attribute > copy() const override
virtual O3RuleCPT & operator=(const O3RuleCPT &src)
virtual O3RuleList & rules()
std::vector< O3Rule > O3RuleList
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