2009-10-07 15:05:09 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								namespace factor
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								{
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2009-10-09 04:20:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								static const cell card_starts_inside_object = 0xff;
							 | 
						
					
						
							
								
									
										
										
										
											2009-10-09 03:05:31 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2009-10-20 14:47:04 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								struct object_start_map {
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									cell size, start;
							 | 
						
					
						
							
								
									
										
										
										
											2009-10-09 04:20:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									card *object_start_offsets;
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									card *object_start_offsets_end;
							 | 
						
					
						
							
								
									
										
										
										
											2009-10-07 15:05:09 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2009-10-25 00:02:58 -04:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									explicit object_start_map(cell size_, cell start_);
							 | 
						
					
						
							
								
									
										
										
										
											2009-10-20 14:47:04 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									~object_start_map();
							 | 
						
					
						
							
								
									
										
										
										
											2009-10-07 15:05:09 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2009-10-14 20:55:02 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									cell first_object_in_card(cell card_index);
							 | 
						
					
						
							
								
									
										
										
										
											2009-10-13 22:16:04 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									cell find_object_containing_card(cell card_index);
							 | 
						
					
						
							
								
									
										
										
										
											2009-10-09 04:20:50 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
									void record_object_start_offset(object *obj);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									void clear_object_start_offsets();
							 | 
						
					
						
							
								
									
										
										
										
											2009-11-01 21:15:42 -05:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
									void update_card_for_sweep(cell index, u16 mask);
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
									void update_for_sweep(mark_bits<object> *state);
							 | 
						
					
						
							
								
									
										
										
										
											2009-10-07 15:05:09 -04:00
										 
									 
								 
							 | 
							
								
							 | 
							
								
							 | 
							
							
								};
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								}
							 |