Posts

Overloading same function signature

  # include <iostream> template < typename T> void foo (T...) { std :: cout << 'A' ;} template < typename ... T> void foo (T...) { std :: cout << 'B' ;} int main () { foo( 1 ); foo( 1 , 2 ); }

Competitive coding

#include <iostream> #include <map> #include <vector> #include <filesystem> #include <fstream> #include <string> using namespace std; namespace fs = std::filesystem; std::string readFile(fs::path path) {     // Open the stream to 'lock' the file.     std::ifstream f(path, std::ios::in | std::ios::binary);     // Obtain the size of the file.     const auto sz = fs::file_size(path);     // Create a buffer.     std::string result(sz, '\0');     // Read the whole file into the buffer.     f.read(result.data(), sz);     return result; } int main() {      string line_str;      fs::path p = "extents.txt";        string result = readFile(p);      stringstream X(result);      std::multimap<long long,long long> m;      int i=0;      while(getline(X,line_s...

std::regex

 #include <regex> if(std::regex_match(uriPath, std::regex( "blogger.com/blog/post/[A-Za-z0-9]{32}"))) {

Design Patterns worked in My career

 Factory Handler DAO Acceptor-Connector Reactor Singleton

Optimization of C++ using Libraries and Design Patterns

 ETL(Embedded Template Library) Threadpool pattern (Optimization of thread based system) Object pool pattern (for configuration reading) string pool memory pool Fast Lane pattern (for file or db reading) singleton pattern std::async valarray std::span Serialization(Protobuffer/Kafka)

Principles in C++

  One Definition Rule Rule of three Tagged Constructors    Small object optimization( https://riptutorial.com/cplusplus/example/31654/small-object-optimization) Empty Base Class Optimization Optimizing by executing less code Expression templates Fold Expressions Perfect forwarding Returning several values continuation passing style Function Object Consumer Returning several values from a function Argument Dependent Name Lookup A moved-from optional Constexpr unions Deferred argument evaluation Preconditions Empty list initialization Intuitive interface The inline keyword as ODR guard dismisser noexcept destructors Value-initialization with C++ Too perfect forwarding variadic macros Ref-qualifiers Inadvertent conversions conditional copy constructor String’s interface Efficient optional values Overload resolution Sessions and object lifetimes Competing constructors Toggles in functions Compile-time string concatenation A friendly type predicate Requires-expressio...

C++ Idioms

 http://cplusplus.bordoon.com/cplusplusadvice.html https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Print_Version RTTI Virtual functions shared_ptr etc Templates Virtual inheriting Variadic macros Also useful: Attributes (it depends on your compiler) Variadic templates Variadic functions Constexpr (sorting in compile time / calculating hash of strings etc... but the latter is related to the last section) Lambdas Useful for brainfucking or in special cases: CRTP SFINAE inable_if (type traits) Foreach macro User-defined literals opaque pointer https://akrzemi1.wordpress.com/page/2/ https://www.ritambhara.in/category/cpp/