Skip to content

Commit 68c9ddf

Browse files
committed
No longer provide fallback for unordered_{set,map} which are given
Removes one if/else use in table.h for map, none for set
1 parent 1113c99 commit 68c9ddf

File tree

2 files changed

+17
-52
lines changed

2 files changed

+17
-52
lines changed

inst/include/Rcpp/platform/compiler.h

+16-16
Original file line numberDiff line numberDiff line change
@@ -122,38 +122,38 @@
122122
#include <unordered_map>
123123
#define RCPP_USING_UNORDERED_MAP
124124
#define RCPP_UNORDERED_MAP std::unordered_map
125-
#else
126-
#include <map>
127-
#define RCPP_USING_MAP
128-
#define RCPP_UNORDERED_MAP std::map
125+
// #else
126+
// #include <map>
127+
// #define RCPP_USING_MAP
128+
// #define RCPP_UNORDERED_MAP std::map
129129
#endif
130130
#if defined(HAS_CXX0X_UNORDERED_SET)
131131
#include <unordered_set>
132132
#define RCPP_USING_UNORDERED_SET
133133
#define RCPP_UNORDERED_SET std::unordered_set
134-
#else
135-
#include <set>
136-
#define RCPP_USING_SET
137-
#define RCPP_UNORDERED_SET std::set
134+
// #else
135+
// #include <set>
136+
// #define RCPP_USING_SET
137+
// #define RCPP_UNORDERED_SET std::set
138138
#endif
139139
#else
140140
#if defined(HAS_TR1_UNORDERED_MAP)
141141
#include <tr1/unordered_map>
142142
#define RCPP_USING_TR1_UNORDERED_MAP
143143
#define RCPP_UNORDERED_MAP std::tr1::unordered_map
144-
#else
145-
#include <map>
146-
#define RCPP_USING_MAP
147-
#define RCPP_UNORDERED_MAP std::map
144+
// #else
145+
// #include <map>
146+
// #define RCPP_USING_MAP
147+
// #define RCPP_UNORDERED_MAP std::map
148148
#endif
149149
#if defined(HAS_TR1_UNORDERED_SET)
150150
#include <tr1/unordered_set>
151151
#define RCPP_USING_TR1_UNORDERED_SET
152152
#define RCPP_UNORDERED_SET std::tr1::unordered_set
153-
#else
154-
#include <set>
155-
#define RCPP_USING_SET
156-
#define RCPP_UNORDERED_SET std::set
153+
// #else
154+
// #include <set>
155+
// #define RCPP_USING_SET
156+
// #define RCPP_UNORDERED_SET std::set
157157
#endif
158158
#endif
159159

inst/include/Rcpp/sugar/functions/table.h

+1-36
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
// -*- mode: C++; c-indent-level: 4; c-basic-offset: 4; tab-width: 8 -*-
2-
//
31
// table.h: Rcpp R/C++ interface class library -- table match
42
//
5-
// Copyright (C) 2012 - 2013 Dirk Eddelbuettel, Romain Francois, and Kevin Ushey
3+
// Copyright (C) 2012 - 2025 Dirk Eddelbuettel, Romain Francois, and Kevin Ushey
64
//
75
// This file is part of Rcpp.
86
//
@@ -55,36 +53,6 @@ class Grabber{
5553
R_xlen_t index ;
5654
} ;
5755

58-
// we define a different Table class depending on whether we are using
59-
// std::map or not
60-
#ifdef RCPP_USING_MAP
61-
62-
template <int RTYPE, typename TABLE_T>
63-
class Table {
64-
public:
65-
typedef typename Rcpp::traits::storage_type<RTYPE>::type STORAGE ;
66-
67-
Table( const TABLE_T& table ): hash() {
68-
std::for_each( table.begin(), table.end(), Inserter(hash) ) ;
69-
}
70-
71-
inline operator IntegerVector() const {
72-
R_xlen_t n = hash.size() ;
73-
IntegerVector result = no_init(n) ;
74-
CharacterVector names = no_init(n) ;
75-
std::for_each( hash.begin(), hash.end(), Grabber<HASH, RTYPE>(result, names) ) ;
76-
result.names() = names ;
77-
return result ;
78-
}
79-
80-
private:
81-
typedef RCPP_UNORDERED_MAP<STORAGE, int, internal::NAComparator<STORAGE> >HASH ;
82-
typedef CountInserter<HASH,STORAGE> Inserter ;
83-
HASH hash ;
84-
};
85-
86-
#else
87-
8856
template <int RTYPE, typename TABLE_T>
8957
class Table {
9058
public:
@@ -118,8 +86,6 @@ class Table {
11886

11987
};
12088

121-
#endif // USING_RCPP_MAP
122-
12389
} // sugar
12490

12591
template <int RTYPE, bool NA, typename T>
@@ -130,4 +96,3 @@ inline IntegerVector table( const VectorBase<RTYPE,NA,T>& x ){
13096

13197
} // Rcpp
13298
#endif
133-

0 commit comments

Comments
 (0)