| 114 | } |
| 115 | |
| 116 | void array::detach() { |
| 117 | array_desc_->primitive = nullptr; |
| 118 | for (auto& s : array_desc_->siblings) { |
| 119 | s.array_desc_->primitive = nullptr; |
| 120 | } |
| 121 | for (auto& s : array_desc_->siblings) { |
| 122 | s.array_desc_->inputs.clear(); |
| 123 | s.array_desc_->siblings.clear(); |
| 124 | s.array_desc_->position = 0; |
| 125 | } |
| 126 | array_desc_->inputs.clear(); |
| 127 | array_desc_->siblings.clear(); |
| 128 | array_desc_->position = 0; |
| 129 | } |
| 130 | |
| 131 | bool array::is_available() const { |
| 132 | if (status() == Status::available) { |