Comments (7)
P.S. would LOVE it if there was a bool contains(T key)
method built into all the sparsepp classes. It's annoying as hell that std::
doesn't offer this.
from sparsepp.
Hi Sam,
I just tried it and it seems to work fine. Here is my code:
#include <iostream>
#include <sparsepp/spp.h>
int main()
{
spp::sparse_hash_map<int,char> example = {{1,'a'}, {2,'b'}};
auto got = example.find(2);
if (got == example.end()) {
std::cout << "Not found\n";
}
else {
std::cout << "Found " << got->first << " " << got->second << '\n';
}
}
and the output:
$ g++ -O2 -std=c++11 -I.. -Wall -pedantic -Wextra -D_XOPEN_SOURCE=700 -DNDEBUG find.cc -o find
$ ./find
Found 2 b
Could you post a full sample program that doesn't compile?
Thanks,
greg
from sparsepp.
Also, what compiler are you using?
from sparsepp.
Sam, I just added bool contains(const T& key) const;
just for you.
Please note that if you do a lot of lookups without changing the hash map, it would be faster to store map.end()
in a variable and compare with the find()
result, rather than calling contains()
.
from sparsepp.
Hey thanks a bunch -- I use g++ (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
from sparsepp.
Oh, I see the typo. You wrote map::end()
instead of map.end()
.
from sparsepp.
omg thanks!
from sparsepp.
Related Issues (20)
- Support operator[] with rvalue HOT 1
- When hashing on vector HOT 13
- Help me to serialize/deserialize sparse_hash_map<int , vector< std::string > > HOT 1
- missing return value in function spp_sptr& operator=(spp_sptr &&o) ? HOT 1
- SIGSEGV on using move-assigned-from hash set HOT 3
- Unable to create map for value type with deleted copy constructor HOT 2
- Can't insert std::tuple: spp uses deleted constructor/destructor HOT 1
- Lookup non-present keys becomes very slow. HOT 1
- Do you support C++11 stateful allocators? HOT 1
- Default allocator doesn't throw and caller doesn't check for NULL HOT 1
- SEGV after moving hash_map HOT 2
- conan package HOT 2
- sparse_hash_map<uint32_t, uint64_t> takes more memory than sparse_hash_map<uint64_t, uint64_t> HOT 1
- memcpy can happen with null "source" parameter HOT 6
- class-memaccess warning when compiling with GCC 8 or later HOT 1
- Problem when compiling on macOS catalina HOT 6
- Can sparse_hash_map support unique_ptr?
- Compiler warning on realloc call within sparsepp. HOT 1
- Error when compile: is not a special member function which can be defaulted HOT 2
- Missing return value. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sparsepp.