Inheritance and Virtual Table are often used to create interface in C++ polymorphic class
What if ... there were another way to do this ?
easier, cleaner, faster and more reliable
This article explains how to useCRTP, [std::variant](https://en.cppreference.com/w/cpp/utility/variant andstd::visitto increase code performance.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| SELECT | |
| *, | |
| pg_size_pretty(table_bytes) AS table, | |
| pg_size_pretty(index_bytes) AS index, | |
| pg_size_pretty(total_bytes) AS total | |
| FROM ( | |
| SELECT | |
| *, total_bytes - index_bytes - COALESCE(toast_bytes, 0) AS table_bytes | |
| FROM ( | |
| SELECT |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * @file endianness.h | |
| * @brief Convert Endianness of shorts, longs, long longs, regardless of architecture/OS | |
| * | |
| * Defines (without pulling in platform-specific network include headers): | |
| * bswap16, bswap32, bswap64, ntoh16, hton16, ntoh32 hton32, ntoh64, hton64 | |
| * | |
| * Should support linux / macos / solaris / windows. | |
| * Supports GCC (on any platform, including embedded), MSVC2015, and clang, | |
| * and should support intel, solaris, and ibm compilers as well. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #pragma once | |
| #include <type_traits> | |
| #include <limits> | |
| // The default enumeration category. Conversion is equivalent to static_cast. | |
| // Unspecialized enumeration traits use this category. | |
| struct enum_default { }; | |
| // The standard-layout enumeration category. Values outside the given range are |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // By your BOI : Yahia B | |
| // feel free to take whatever you would like | |
| #ifndef SkipList_H | |
| #define SkipList_H | |
| #include <iostream> | |
| #include <cstdlib> | |
| #include <limits> | |
| #include <random> | |
| #include <ctime> | |
| #include <vector> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include <bits/stdc++.h> | |
| using namespace std; | |
| struct node { | |
| int data{}; | |
| node* left = nullptr; | |
| node* right = nullptr; | |
| node* parent = nullptr; | |
| string color; | |
| }; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| You need the terminal color codes. For linux it's the following (your system might be different, look it up): | |
| //the following are UBUNTU/LINUX, and MacOS ONLY terminal color codes. | |
| #define RESET "\033[0m" | |
| #define BLACK "\033[30m" /* Black */ | |
| #define RED "\033[31m" /* Red */ | |
| #define GREEN "\033[32m" /* Green */ | |
| #define YELLOW "\033[33m" /* Yellow */ | |
| #define BLUE "\033[34m" /* Blue */ | |
| #define MAGENTA "\033[35m" /* Magenta */ |
| Date | 05-05-2021 - 10-17-2023 |
| Revision | R3 |
| Author | Guillaume Dua |
| Reviewers | Loïc Joly, Antoine Morrier |
Disclaimer: ChatGPT generated document.
Linux’s perf is a powerful profiling tool that helps analyze CPU usage, cache misses, function call costs, branch mispredictions, and more in C++ applications. This guide will cover:
✅ Installing and setting up perf
✅ Basic and advanced profiling commands
OlderNewer
