| 362 | const std::vector<bool>& derived() const { return derived_; } |
| 363 | |
| 364 | const std::vector<const attribute*> all_attributes() const { |
| 365 | std::vector<const attribute*> attrs; |
| 366 | attrs.reserve(derived_.size()); |
| 367 | if (supertype_ != nullptr) { |
| 368 | const std::vector<const attribute*> supertype_attrs = supertype_->all_attributes(); |
| 369 | std::copy(supertype_attrs.begin(), supertype_attrs.end(), std::back_inserter(attrs)); |
| 370 | } |
| 371 | std::copy(attributes_.begin(), attributes_.end(), std::back_inserter(attrs)); |
| 372 | return attrs; |
| 373 | } |
| 374 | |
| 375 | const std::vector<const inverse_attribute*> all_inverse_attributes() const { |
| 376 | std::vector<const inverse_attribute*> attrs; |