Skip to content

Instantly share code, notes, and snippets.

View Giemsa's full-sized avatar

ぎむざ Giemsa

View GitHub Profile
@Giemsa
Giemsa / variant-tekina-nanika.cpp
Last active August 29, 2015 14:15
眠れなかったからC++11でvariant的なやつ書いた
#include <iostream>
template<size_t ...N>
struct Max;
template<size_t N>
struct Max<N>
{
static constexpr size_t value = N;
};
@Giemsa
Giemsa / stopwatch.hpp
Last active August 3, 2017 08:03
怠惰な人のための時間計測クラス for C++11
#include <chrono>
#include <iostream>
namespace detail
{
namespace chrono
{
template<typename P>
struct UnitName;
@Giemsa
Giemsa / move-workdir.sh
Created September 9, 2014 13:13
ブランチ切り替えまくるのに疲弊したあなたに捧ぐシェルスクリプト
#!/bin/sh
# git-new-workdirのパス
GIT_WD_PATH=/usr/local/share/git-core/contrib/workdir/git-new-workdir
BRANCH_NAME=
WORKDIR_NAME=
REMOTE_URL=`git config --get remote.origin.url`
@Giemsa
Giemsa / withIndex.cpp
Last active August 29, 2015 14:01
イテレーションしつつインデックスるも取るコード
#include <iostream>
#include <vector>
/* -- ここから -- */
template<typename T, typename C = int>
class Element
{
template<typename S>
friend class Iterator;
@Giemsa
Giemsa / union.cpp
Last active December 31, 2015 08:39
共用体をラップしたクラス。あまり役に立ちそうにない。http://jumble-note.blogspot.jp/2013/12/c.html
#include <iostream>
#define def_t(n) \
typename T ## n = __type_util::_void
#define def_m(n) T ## n t ## n;
#define check(n) typename __type_util::is_void<T ## n, T>::type* = 0
#define def_a(n) \
template<typename T> \