| 
									
										
										
										
											2024-01-17 20:18:46 +01:00
										 |  |  | //
 | 
					
						
							|  |  |  | //  MutableRawBuffer.cpp
 | 
					
						
							|  |  |  | //  VisionCamera
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //  Created by Marc Rousavy on 17.01.24.
 | 
					
						
							|  |  |  | //  Copyright © 2024 mrousavy. All rights reserved.
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "MutableRawBuffer.h"
 | 
					
						
							|  |  |  | #include <functional>
 | 
					
						
							|  |  |  | #include <memory>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace vision { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-18 10:41:26 +01:00
										 |  |  | MutableRawBuffer::MutableRawBuffer(uint8_t* data, size_t size, bool freeOnDealloc) | 
					
						
							|  |  |  |     : _data(data), _size(size), _freeOnDealloc(freeOnDealloc) {} | 
					
						
							| 
									
										
										
										
											2024-01-17 20:18:46 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | MutableRawBuffer::MutableRawBuffer(size_t size) { | 
					
						
							|  |  |  |   _size = size; | 
					
						
							|  |  |  |   _data = (uint8_t*)malloc(size * sizeof(uint8_t)); | 
					
						
							| 
									
										
										
										
											2024-01-18 10:41:26 +01:00
										 |  |  |   _freeOnDealloc = true; | 
					
						
							| 
									
										
										
										
											2024-01-17 20:18:46 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MutableRawBuffer::~MutableRawBuffer() { | 
					
						
							| 
									
										
										
										
											2024-01-18 10:41:26 +01:00
										 |  |  |   if (_freeOnDealloc) { | 
					
						
							|  |  |  |     free(_data); | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2024-01-17 20:18:46 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | size_t MutableRawBuffer::size() const { | 
					
						
							|  |  |  |   return _size; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | uint8_t* MutableRawBuffer::data() { | 
					
						
							|  |  |  |   return _data; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } // namespace vision
 |