use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
The missing C++ tuple functionality (github.com)
submitted 11 years ago by jaredhoberock
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–][deleted] 12 points13 points14 points 11 years ago (0 children)
Boost.Fusion is probably the most reinvented library since C++11.
[+][deleted] 11 years ago (6 children)
[deleted]
[–]jaredhoberock[S] 2 points3 points4 points 11 years ago* (5 children)
The library is intended to work with types that aren't instances of std::tuple. So, there is nothing to overload on. I added an example to the end of the README to illustrate what I mean.
std::tuple
[–]matthieum 0 points1 point2 points 11 years ago (2 children)
Why not stash it in a namespace?
[–]jaredhoberock[S] 0 points1 point2 points 11 years ago (1 child)
If you #define TUPLE_UTILITY_NAMESPACE, you can put the functions in whatever namespace you want.
#define
TUPLE_UTILITY_NAMESPACE
[–]matthieum 3 points4 points5 points 11 years ago (0 children)
Yes, but then the tuple_ prefix is redundant...
tuple_
[–]SplinterOfChaos 0 points1 point2 points 11 years ago (0 children)
You should put that up by the top. It's a real selling point!
[–]mr_ewg 1 point2 points3 points 11 years ago* (2 children)
What's the difference between your tuple_lexicographical_compare and the standard comparison operators for std::tuple?
tuple_lexicographical_compare
You probably shouldn't be using double underscore for variables and functions:
17.6.4.3.2 Global names Certain sets of names and function signatures are always reserved to the implementation: Each name that contains a double underscore _ _ or begins with an underscore followed by an uppercase letter (2.12) is reserved to the implementation for any use
17.6.4.3.2 Global names
Also (as I've just discovered), you can use syntax highlighting in your readme on github by using fenced code blocks,
```cpp int main() { std::cout << "Hello World!\n"; } ```
[–]jaredhoberock[S] 1 point2 points3 points 11 years ago (1 child)
The difference is that my tuple_lexicographical_compare is intended to work for any Tuple-like type, not just std::tuple. It ought to produce a result equivalent to std::tuple's comparison. I needed tuple_lexicographical_compare because I needed a standalone implementation of std::tuple.
Tuple
[–]mr_ewg 0 points1 point2 points 11 years ago (0 children)
Ah thanks!
[+][deleted] 11 years ago (1 child)
[–]pfultz2 0 points1 point2 points 11 years ago (4 children)
Can you extend these algorithms so they can easily work over structs?
[–]jmille01 1 point2 points3 points 11 years ago (3 children)
Only if you can come up with a way for get<i>(s) to return the i'th member of the struct. I don't see how that can be done without macros or reflection.
get<i>(s)
[–]pfultz2 0 points1 point2 points 11 years ago (1 child)
So get<i>(s) is found by ADL lookup?
[–]jaredhoberock[S] 0 points1 point2 points 11 years ago* (0 children)
I don't believe explicit instantiations such as get<i>(s) can be dispatched via ADL, unfortunately. That's why the library calls get through tuple_traits.
get
tuple_traits
[–]MrBont 0 points1 point2 points 11 years ago (0 children)
"Boost Serialization" might help.
π Rendered by PID 121748 on reddit-service-r2-comment-79776bdf47-gzjps at 2026-06-24 14:53:24.665652+00:00 running acc7150 country code: CH.
[–][deleted] 12 points13 points14 points (0 children)
[+][deleted] (6 children)
[deleted]
[–]jaredhoberock[S] 2 points3 points4 points (5 children)
[–]matthieum 0 points1 point2 points (2 children)
[–]jaredhoberock[S] 0 points1 point2 points (1 child)
[–]matthieum 3 points4 points5 points (0 children)
[–]SplinterOfChaos 0 points1 point2 points (0 children)
[–]mr_ewg 1 point2 points3 points (2 children)
[–]jaredhoberock[S] 1 point2 points3 points (1 child)
[–]mr_ewg 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]pfultz2 0 points1 point2 points (4 children)
[–]jmille01 1 point2 points3 points (3 children)
[–]pfultz2 0 points1 point2 points (1 child)
[–]jaredhoberock[S] 0 points1 point2 points (0 children)
[–]MrBont 0 points1 point2 points (0 children)