/
Alx89
/
OpenCV
Обзор
Документация
Войти
/
Alx89
/
OpenCV
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
4.x
modules/core/misc/objc/common/DoubleVector.h
89 строк
2 KB
Giles Payne
Dynamic build for Objective-C/Swift wrapper
26 июн 2020, 02:26
26 июн 2020, 02:26
59ba336
Код
Авторство
О чём код?
// // DoubleVector.h // // Created by Giles Payne on 2020/01/04. // #pragma once #import <Foundation/Foundation.h> #ifdef __cplusplus #import <vector> #endif #import "CVObjcUtil.h" NS_ASSUME_NONNULL_BEGIN /** * Utility class to wrap a `std::vector<double>` */ CV_EXPORTS @interface DoubleVector : NSObject #pragma mark - Constructors /** * Create DoubleVector and initialize with the contents of an NSData object * @param data NSData containing raw double array */ -(instancetype)initWithData:(NSData*)data; /** * Create DoubleVector and initialize with the contents of another DoubleVector object * @param src DoubleVector containing data to copy */ -(instancetype)initWithVector:(DoubleVector*)src; #ifdef __OBJC__ /** * Create DoubleVector from raw C array * @param array The raw C array * @elements elements The number of elements in the array */ -(instancetype)initWithNativeArray:(double*)array elements:(int)elements; #endif #ifdef __cplusplus /** * Create DoubleVector from std::vector<double> * @param src The std::vector<double> object to wrap */ -(instancetype)initWithStdVector:(std::vector<double>&)src; +(instancetype)fromNative:(std::vector<double>&)src; #endif #pragma mark - Properties /** * Length of the vector */ @property(readonly) size_t length; #ifdef __OBJC__ /** * Raw C array */ @property(readonly) double* nativeArray; #endif #ifdef __cplusplus /** * The wrapped std::vector<double> object */ @property(readonly) std::vector<double>& nativeRef; #endif /** * NSData object containing the raw double data */ @property(readonly) NSData* data; #pragma mark - Accessor method /** * Return array element * @param index Index of the array element to return */ -(double)get:(NSInteger)index; @end NS_ASSUME_NONNULL_END