Skip to content

Instantly share code, notes, and snippets.

@gingerBill
gingerBill / build_msvc.sublime-build
Created June 8, 2016 19:10
Sublime Build - MSVC
{
"shell_cmd": "build.bat",
"file_regex": "^ *([A-z]:.*)[(]([0-9]+)[)]",
"working_dir": "${project_path:${folder}}"
}
@gingerBill
gingerBill / augmented.c
Created June 6, 2016 13:55
Augmented C - 002
#ifndef AUGMENTED_C_GUARD
#define AUGMENTED_C_GUARD
#include <stddef.h>
typedef ptrdiff_t isize;
#define offset_of(Type, element) ((isize)&(((Type *)0)->element))
#define JOIN2_IND(a, b) a##b
#define JOIN2(a, b) JOIN2_IND(a, b)
@gingerBill
gingerBill / defer.cpp
Last active November 20, 2022 17:45
Golang Defer in C++
////////////////////////////////////////////////////////////////
//
// Defer statement
// - Akin to D's SCOPE_EXIT or similar to Go's defer but scope-based
//
////////////////////////////////////////////////////////////////
#if defined(__cplusplus)
extern "C++" {
// NOTE(bill): Stupid fucking templates
template <typename T> struct gbRemove_Reference { typedef T Type; };