| 181 | }; |
| 182 | |
| 183 | void builtin_table_keys ( Sequence & result, const Table & tab, int32_t stride, Context * __context__, LineInfoArg * at ) { |
| 184 | char * iter = __context__->allocateIterator(sizeof(TableKeysIterator<uint8_t>),"table keys iterator", at); |
| 185 | switch ( stride ) { |
| 186 | case 1: new (iter) TableKeysIterator<uint8_t>(&tab, stride, at); break; |
| 187 | case 2: new (iter) TableKeysIterator<uint16_t>(&tab, stride, at); break; |
| 188 | case 4: new (iter) TableKeysIterator<uint32_t>(&tab, stride, at); break; |
| 189 | case 8: new (iter) TableKeysIterator<uint64_t>(&tab, stride, at); break; |
| 190 | case 12: new (iter) TableKeysIterator<float3>(&tab, stride, at); break; |
| 191 | case 16: new (iter) TableKeysIterator<vec4f>(&tab, stride, at); break; |
| 192 | default: __context__->throw_error_at(at, "unsupported key type, stride=%i", stride); |
| 193 | } |
| 194 | result = { (Iterator *) iter }; |
| 195 | } |
| 196 | |
| 197 | char * TableValuesIterator::getData ( ) const { |
| 198 | return table->data; |
no test coverage detected