Skip to content

Instantly share code, notes, and snippets.

View tiny-di.cpp
#include <cassert>
#include <iostream>
#include <functional>
#include <memory>
#include <type_traits>
#include <typeinfo>
#include <typeindex>
#include <utility>
#include <unordered_map>
View meetup_name_crawler.py
import argparse
import datetime
import unicodecsv as csv
import meetup.api
import os.path
columns = ['name', 'real_name', 'kingster', 'id', 'rsvp', 'rsvp_date', 'joined_group_date', 'title', 'host', 'url', 'new_entry']
if __name__ == "__main__":
View .ycm_extra_config.py
# This file is NOT licensed under the GPLv3, which is the license for the rest
# of YouCompleteMe.
#
# Here's the license text for this file:
#
# This is free and unencumbered software released into the public domain.
#
# Anyone is free to copy, modify, publish, use, compile, sell, or
# distribute this software, either in source code form or as a compiled
# binary, for any purpose, commercial or non-commercial, and by any
@Jiwan
Jiwan / update-clang.sh
Last active Mar 16, 2017
Update clang script
View update-clang.sh
#!/usr/bin/env bash
if [ -d "llvm" ]; then
pushd .
cd llvm/
svn cleanup
svn update
popd
else
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
@Jiwan
Jiwan / env.sh
Last active Jan 16, 2017
Compiler env.sh
View env.sh
COMPILER_ENV=GCC_7
if [ -z "$COMPILER_ENV" ];
then
echo "Variable COMPILER_ENV must be set and be the name of a folder in /opt";
else
echo "Configuring compiler environment.";
INSTALL_DIR=/opt/${COMPILER_ENV}
THIRD_PARTY_DIR=${INSTALL_DIR}/thirdparty
export GCC_ENV_DIR=${INSTALL_DIR}
View gist:05c6a00c4d4864225bc497838778bb39
if [ -z "$BH_ENV" ];
then
echo "Variable BH_ENV must be set and be the name of a folder in /opt";
else
echo "Configuring compiler environment.";
INSTALL_DIR=/opt/${BH_ENV}
THIRD_PARTY_DIR=${INSTALL_DIR}/thirdparty
export GCC_ENV_DIR=${INSTALL_DIR}
export GCC_BIN_DIR=${GCC_ENV_DIR}/bin
@Jiwan
Jiwan / main.cpp
Created Feb 4, 2016
Final C++14 example for my post - An introduction to C++'s variadic templates: a thread-safe multi-type map
View main.cpp
#include <iostream>
#include <memory>
#include <string>
#include "repository.hpp"
// Incomplete types used as compile-time keys.
struct Key1;
struct Key2;
@Jiwan
Jiwan / repository_shared_ptr.cpp
Last active Dec 13, 2020
C++11 example for my post - An introduction to C++'s variadic templates: a thread-safe multi-type map - using shared_ptr
View repository_shared_ptr.cpp
#include <iostream>
#include <string>
struct DefaultSlotKey;
template <class Type, class Key = DefaultSlotKey>
class Slot
{
public:
std::shared_ptr<Type> doGet() const
@Jiwan
Jiwan / repository_base.cpp
Created Feb 3, 2016
C++11 example for my post - An introduction to C++'s variadic templates: a thread-safe multi-type map
View repository_base.cpp
#include <iostream>
#include <string>
struct DefaultSlotKey;
template <class Type, class Key = DefaultSlotKey>
class Slot
{
protected:
Type& doGet()
@Jiwan
Jiwan / main.cpp
Created Oct 31, 2015
C++ 14 example SFINAE!
View main.cpp
#include <boost/hana.hpp>
#include <iostream>
#include <type_traits>
struct A {};
std::string to_string(const A&)
{
return "I am a A!";
}