Merge branch 'vadz-java-map-comp'

* vadz-java-map-comp:
  Add support for std::map<> comparator template argument for Java

Conflicts:
	CHANGES.current
This commit is contained in:
William S Fulton 2018-10-09 07:09:06 +01:00
commit 8ddf24881a
2 changed files with 8 additions and 5 deletions

View file

@ -18,21 +18,21 @@
namespace std {
template<class K, class T> class map {
template<class K, class T, class C = std::less<K> > class map {
public:
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef K key_type;
typedef T mapped_type;
map();
map(const map<K,T> &);
map(const map<K,T,C> &);
unsigned int size() const;
bool empty() const;
void clear();
%extend {
const T& get(const K& key) throw (std::out_of_range) {
std::map<K,T >::iterator i = self->find(key);
std::map<K,T,C >::iterator i = self->find(key);
if (i != self->end())
return i->second;
else
@ -42,14 +42,14 @@ namespace std {
(*self)[key] = x;
}
void del(const K& key) throw (std::out_of_range) {
std::map<K,T >::iterator i = self->find(key);
std::map<K,T,C >::iterator i = self->find(key);
if (i != self->end())
self->erase(i);
else
throw std::out_of_range("key not found");
}
bool has_key(const K& key) {
std::map<K,T >::iterator i = self->find(key);
std::map<K,T,C >::iterator i = self->find(key);
return i != self->end();
}
}