This file contains 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 <assert.h> | |
#include <stddef.h> | |
#include <stdint.h> | |
#include <stdio.h> | |
#define USE_WIKIPEDIA_COBS_DECODE 1 | |
#if USE_WIKIPEDIA_COBS_DECODE | |
size_t cobsDecode(const uint8_t *buffer, size_t length, void *data) { | |
assert(buffer && data); |
This file contains 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
import argparse | |
import os | |
import pathlib | |
import shutil | |
import subprocess | |
import sys | |
import tempfile | |
def _parse_args(): |
This file contains 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 <cstdio> | |
namespace detail { | |
template<unsigned count, template<unsigned...> class meta_functor, unsigned... indices> | |
struct apply_range { | |
typedef typename apply_range<count - 1, meta_functor, count - 1, indices...>::result result; | |
}; | |
template<template<unsigned...> class meta_functor, unsigned... indices> | |
struct apply_range<0, meta_functor, indices...> { |