Skip to content

Commit 9a01507

Browse files
committed
Merge pull request flann-lib#261 from dm-jrae/master
C wrapper fix for C++99
2 parents 907fec8 + cee83b7 commit 9a01507

File tree

1 file changed

+47
-52
lines changed

1 file changed

+47
-52
lines changed

src/cpp/flann/flann.cpp

Lines changed: 47 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -313,29 +313,29 @@ template <typename T>
313313
int _flann_add_points(flann_index_t index_ptr, T* points, int rows, int columns,
314314
float rebuild_threshold) {
315315
if (flann_distance_type==FLANN_DIST_EUCLIDEAN) {
316-
return __flann_add_points<L2<T>>(index_ptr, points, rows, columns, rebuild_threshold);
316+
return __flann_add_points<L2<T> >(index_ptr, points, rows, columns, rebuild_threshold);
317317
}
318318
else if (flann_distance_type==FLANN_DIST_MANHATTAN) {
319-
return __flann_add_points<L1<T>>(index_ptr, points, rows, columns, rebuild_threshold);
319+
return __flann_add_points<L1<T> >(index_ptr, points, rows, columns, rebuild_threshold);
320320
}
321321
else if (flann_distance_type==FLANN_DIST_MINKOWSKI) {
322-
return __flann_add_points<MinkowskiDistance<T>>(index_ptr, points, rows, columns, rebuild_threshold);
322+
return __flann_add_points<MinkowskiDistance<T> >(index_ptr, points, rows, columns, rebuild_threshold);
323323
}
324324
else if (flann_distance_type==FLANN_DIST_HIST_INTERSECT) {
325-
return __flann_add_points<HistIntersectionDistance<T>>(index_ptr, points, rows, columns, rebuild_threshold);
325+
return __flann_add_points<HistIntersectionDistance<T> >(index_ptr, points, rows, columns, rebuild_threshold);
326326
}
327327
else if (flann_distance_type==FLANN_DIST_HELLINGER) {
328-
return __flann_add_points<HellingerDistance<T>>(index_ptr, points, rows, columns, rebuild_threshold);
328+
return __flann_add_points<HellingerDistance<T> >(index_ptr, points, rows, columns, rebuild_threshold);
329329
}
330330
else if (flann_distance_type==FLANN_DIST_CHI_SQUARE) {
331-
return __flann_add_points<ChiSquareDistance<T>>(index_ptr, points, rows, columns, rebuild_threshold);
331+
return __flann_add_points<ChiSquareDistance<T> >(index_ptr, points, rows, columns, rebuild_threshold);
332332
}
333333
else if (flann_distance_type==FLANN_DIST_KULLBACK_LEIBLER) {
334-
return __flann_add_points<KL_Divergence<T>>(index_ptr, points, rows, columns, rebuild_threshold);
334+
return __flann_add_points<KL_Divergence<T> >(index_ptr, points, rows, columns, rebuild_threshold);
335335
}
336336
else {
337337
Logger::error( "Distance type unsupported in the C bindings, use the C++ bindings instead\n");
338-
return NULL;
338+
return 0;
339339
}
340340
}
341341

@@ -366,7 +366,6 @@ int flann_add_points_int(flann_index_t index_ptr, int* points, int rows, int col
366366

367367
template <typename Distance>
368368
int __flann_remove_point(flann_index_t index_ptr, unsigned int point_id_uint) {
369-
typedef typename Distance::ElementType ElementType;
370369
size_t point_id(point_id_uint);
371370
try {
372371
if (index_ptr==NULL) {
@@ -386,29 +385,29 @@ int __flann_remove_point(flann_index_t index_ptr, unsigned int point_id_uint) {
386385
template <typename T>
387386
int _flann_remove_point(flann_index_t index_ptr, unsigned int point_id) {
388387
if (flann_distance_type==FLANN_DIST_EUCLIDEAN) {
389-
return __flann_remove_point<L2<T>>(index_ptr, point_id);
388+
return __flann_remove_point<L2<T> >(index_ptr, point_id);
390389
}
391390
else if (flann_distance_type==FLANN_DIST_MANHATTAN) {
392-
return __flann_remove_point<L1<T>>(index_ptr, point_id);
391+
return __flann_remove_point<L1<T> >(index_ptr, point_id);
393392
}
394393
else if (flann_distance_type==FLANN_DIST_MINKOWSKI) {
395-
return __flann_remove_point<MinkowskiDistance<T>>(index_ptr, point_id);
394+
return __flann_remove_point<MinkowskiDistance<T> >(index_ptr, point_id);
396395
}
397396
else if (flann_distance_type==FLANN_DIST_HIST_INTERSECT) {
398-
return __flann_remove_point<HistIntersectionDistance<T>>(index_ptr, point_id);
397+
return __flann_remove_point<HistIntersectionDistance<T> >(index_ptr, point_id);
399398
}
400399
else if (flann_distance_type==FLANN_DIST_HELLINGER) {
401-
return __flann_remove_point<HellingerDistance<T>>(index_ptr, point_id);
400+
return __flann_remove_point<HellingerDistance<T> >(index_ptr, point_id);
402401
}
403402
else if (flann_distance_type==FLANN_DIST_CHI_SQUARE) {
404-
return __flann_remove_point<ChiSquareDistance<T>>(index_ptr, point_id);
403+
return __flann_remove_point<ChiSquareDistance<T> >(index_ptr, point_id);
405404
}
406405
else if (flann_distance_type==FLANN_DIST_KULLBACK_LEIBLER) {
407-
return __flann_remove_point<KL_Divergence<T>>(index_ptr, point_id);
406+
return __flann_remove_point<KL_Divergence<T> >(index_ptr, point_id);
408407
}
409408
else {
410409
Logger::error( "Distance type unsupported in the C bindings, use the C++ bindings instead\n");
411-
return NULL;
410+
return 0;
412411
}
413412
}
414413

@@ -440,7 +439,6 @@ int flann_remove_point_int(flann_index_t index_ptr, unsigned int point_id)
440439
template <typename Distance>
441440
typename Distance::ElementType* __flann_get_point(flann_index_t index_ptr,
442441
unsigned int point_id_uint) {
443-
typedef typename Distance::ElementType ElementType;
444442
size_t point_id(point_id_uint);
445443
try {
446444
if (index_ptr==NULL) {
@@ -458,25 +456,25 @@ typename Distance::ElementType* __flann_get_point(flann_index_t index_ptr,
458456
template <typename T>
459457
T* _flann_get_point(flann_index_t index_ptr, unsigned int point_id) {
460458
if (flann_distance_type==FLANN_DIST_EUCLIDEAN) {
461-
return __flann_get_point<L2<T>>(index_ptr, point_id);
459+
return __flann_get_point<L2<T> >(index_ptr, point_id);
462460
}
463461
else if (flann_distance_type==FLANN_DIST_MANHATTAN) {
464-
return __flann_get_point<L1<T>>(index_ptr, point_id);
462+
return __flann_get_point<L1<T> >(index_ptr, point_id);
465463
}
466464
else if (flann_distance_type==FLANN_DIST_MINKOWSKI) {
467-
return __flann_get_point<MinkowskiDistance<T>>(index_ptr, point_id);
465+
return __flann_get_point<MinkowskiDistance<T> >(index_ptr, point_id);
468466
}
469467
else if (flann_distance_type==FLANN_DIST_HIST_INTERSECT) {
470-
return __flann_get_point<HistIntersectionDistance<T>>(index_ptr, point_id);
468+
return __flann_get_point<HistIntersectionDistance<T> >(index_ptr, point_id);
471469
}
472470
else if (flann_distance_type==FLANN_DIST_HELLINGER) {
473-
return __flann_get_point<HellingerDistance<T>>(index_ptr, point_id);
471+
return __flann_get_point<HellingerDistance<T> >(index_ptr, point_id);
474472
}
475473
else if (flann_distance_type==FLANN_DIST_CHI_SQUARE) {
476-
return __flann_get_point<ChiSquareDistance<T>>(index_ptr, point_id);
474+
return __flann_get_point<ChiSquareDistance<T> >(index_ptr, point_id);
477475
}
478476
else if (flann_distance_type==FLANN_DIST_KULLBACK_LEIBLER) {
479-
return __flann_get_point<KL_Divergence<T>>(index_ptr, point_id);
477+
return __flann_get_point<KL_Divergence<T> >(index_ptr, point_id);
480478
}
481479
else {
482480
Logger::error( "Distance type unsupported in the C bindings, use the C++ bindings instead\n");
@@ -511,7 +509,6 @@ int* flann_get_point_int(flann_index_t index_ptr, unsigned int point_id)
511509

512510
template <typename Distance>
513511
unsigned int __flann_veclen(flann_index_t index_ptr) {
514-
typedef typename Distance::ElementType ElementType;
515512
try {
516513
if (index_ptr==NULL) {
517514
throw FLANNException("Invalid index");
@@ -528,29 +525,29 @@ unsigned int __flann_veclen(flann_index_t index_ptr) {
528525
template <typename T>
529526
unsigned int _flann_veclen(flann_index_t index_ptr) {
530527
if (flann_distance_type==FLANN_DIST_EUCLIDEAN) {
531-
return __flann_veclen<L2<T>>(index_ptr);
528+
return __flann_veclen<L2<T> >(index_ptr);
532529
}
533530
else if (flann_distance_type==FLANN_DIST_MANHATTAN) {
534-
return __flann_veclen<L1<T>>(index_ptr);
531+
return __flann_veclen<L1<T> >(index_ptr);
535532
}
536533
else if (flann_distance_type==FLANN_DIST_MINKOWSKI) {
537-
return __flann_veclen<MinkowskiDistance<T>>(index_ptr);
534+
return __flann_veclen<MinkowskiDistance<T> >(index_ptr);
538535
}
539536
else if (flann_distance_type==FLANN_DIST_HIST_INTERSECT) {
540-
return __flann_veclen<HistIntersectionDistance<T>>(index_ptr);
537+
return __flann_veclen<HistIntersectionDistance<T> >(index_ptr);
541538
}
542539
else if (flann_distance_type==FLANN_DIST_HELLINGER) {
543-
return __flann_veclen<HellingerDistance<T>>(index_ptr);
540+
return __flann_veclen<HellingerDistance<T> >(index_ptr);
544541
}
545542
else if (flann_distance_type==FLANN_DIST_CHI_SQUARE) {
546-
return __flann_veclen<ChiSquareDistance<T>>(index_ptr);
543+
return __flann_veclen<ChiSquareDistance<T> >(index_ptr);
547544
}
548545
else if (flann_distance_type==FLANN_DIST_KULLBACK_LEIBLER) {
549-
return __flann_veclen<KL_Divergence<T>>(index_ptr);
546+
return __flann_veclen<KL_Divergence<T> >(index_ptr);
550547
}
551548
else {
552549
Logger::error( "Distance type unsupported in the C bindings, use the C++ bindings instead\n");
553-
return NULL;
550+
return 0;
554551
}
555552
}
556553

@@ -581,7 +578,6 @@ unsigned int flann_veclen_int(flann_index_t index_ptr)
581578

582579
template <typename Distance>
583580
unsigned int __flann_size(flann_index_t index_ptr) {
584-
typedef typename Distance::ElementType ElementType;
585581
try {
586582
if (index_ptr==NULL) {
587583
throw FLANNException("Invalid index");
@@ -598,29 +594,29 @@ unsigned int __flann_size(flann_index_t index_ptr) {
598594
template <typename T>
599595
unsigned int _flann_size(flann_index_t index_ptr) {
600596
if (flann_distance_type==FLANN_DIST_EUCLIDEAN) {
601-
return __flann_size<L2<T>>(index_ptr);
597+
return __flann_size<L2<T> >(index_ptr);
602598
}
603599
else if (flann_distance_type==FLANN_DIST_MANHATTAN) {
604-
return __flann_size<L1<T>>(index_ptr);
600+
return __flann_size<L1<T> >(index_ptr);
605601
}
606602
else if (flann_distance_type==FLANN_DIST_MINKOWSKI) {
607-
return __flann_size<MinkowskiDistance<T>>(index_ptr);
603+
return __flann_size<MinkowskiDistance<T> >(index_ptr);
608604
}
609605
else if (flann_distance_type==FLANN_DIST_HIST_INTERSECT) {
610-
return __flann_size<HistIntersectionDistance<T>>(index_ptr);
606+
return __flann_size<HistIntersectionDistance<T> >(index_ptr);
611607
}
612608
else if (flann_distance_type==FLANN_DIST_HELLINGER) {
613-
return __flann_size<HellingerDistance<T>>(index_ptr);
609+
return __flann_size<HellingerDistance<T> >(index_ptr);
614610
}
615611
else if (flann_distance_type==FLANN_DIST_CHI_SQUARE) {
616-
return __flann_size<ChiSquareDistance<T>>(index_ptr);
612+
return __flann_size<ChiSquareDistance<T> >(index_ptr);
617613
}
618614
else if (flann_distance_type==FLANN_DIST_KULLBACK_LEIBLER) {
619-
return __flann_size<KL_Divergence<T>>(index_ptr);
615+
return __flann_size<KL_Divergence<T> >(index_ptr);
620616
}
621617
else {
622618
Logger::error( "Distance type unsupported in the C bindings, use the C++ bindings instead\n");
623-
return NULL;
619+
return 0;
624620
}
625621
}
626622

@@ -651,7 +647,6 @@ unsigned int flann_size_int(flann_index_t index_ptr)
651647

652648
template <typename Distance>
653649
int __flann_used_memory(flann_index_t index_ptr) {
654-
typedef typename Distance::ElementType ElementType;
655650
try {
656651
if (index_ptr==NULL) {
657652
throw FLANNException("Invalid index");
@@ -668,29 +663,29 @@ int __flann_used_memory(flann_index_t index_ptr) {
668663
template <typename T>
669664
int _flann_used_memory(flann_index_t index_ptr) {
670665
if (flann_distance_type==FLANN_DIST_EUCLIDEAN) {
671-
return __flann_used_memory<L2<T>>(index_ptr);
666+
return __flann_used_memory<L2<T> >(index_ptr);
672667
}
673668
else if (flann_distance_type==FLANN_DIST_MANHATTAN) {
674-
return __flann_used_memory<L1<T>>(index_ptr);
669+
return __flann_used_memory<L1<T> >(index_ptr);
675670
}
676671
else if (flann_distance_type==FLANN_DIST_MINKOWSKI) {
677-
return __flann_used_memory<MinkowskiDistance<T>>(index_ptr);
672+
return __flann_used_memory<MinkowskiDistance<T> >(index_ptr);
678673
}
679674
else if (flann_distance_type==FLANN_DIST_HIST_INTERSECT) {
680-
return __flann_used_memory<HistIntersectionDistance<T>>(index_ptr);
675+
return __flann_used_memory<HistIntersectionDistance<T> >(index_ptr);
681676
}
682677
else if (flann_distance_type==FLANN_DIST_HELLINGER) {
683-
return __flann_used_memory<HellingerDistance<T>>(index_ptr);
678+
return __flann_used_memory<HellingerDistance<T> >(index_ptr);
684679
}
685680
else if (flann_distance_type==FLANN_DIST_CHI_SQUARE) {
686-
return __flann_used_memory<ChiSquareDistance<T>>(index_ptr);
681+
return __flann_used_memory<ChiSquareDistance<T> >(index_ptr);
687682
}
688683
else if (flann_distance_type==FLANN_DIST_KULLBACK_LEIBLER) {
689-
return __flann_used_memory<KL_Divergence<T>>(index_ptr);
684+
return __flann_used_memory<KL_Divergence<T> >(index_ptr);
690685
}
691686
else {
692687
Logger::error( "Distance type unsupported in the C bindings, use the C++ bindings instead\n");
693-
return NULL;
688+
return 0;
694689
}
695690
}
696691

0 commit comments

Comments
 (0)