| 111 | } |
| 112 | |
| 113 | aggregate_of_instance::ptr aggregate_of_instance::unique() { |
| 114 | std::set<IfcUtil::IfcBaseClass*> encountered; |
| 115 | aggregate_of_instance::ptr return_value(new aggregate_of_instance); |
| 116 | for (it it = begin(); it != end(); ++it) { |
| 117 | if (encountered.find(*it) == encountered.end()) { |
| 118 | return_value->push(*it); |
| 119 | encountered.insert(*it); |
| 120 | } |
| 121 | } |
| 122 | return return_value; |
| 123 | } |
| 124 | |
| 125 | /* |
| 126 | //Note: some of these methods are overloaded in derived classes |