Skip to content

Instantly share code, notes, and snippets.

//
// The MIT License (MIT)
//
// Copyright (c) 2013-2014 Max Truxa
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,

Example Paths

Examples below use the following paths:

Windows Posix
C:\Foo\Bar\Baz.xyz /foo/bar/baz.xyz

Path Decomposition

template<typename TMapIterator>
class key_iterator : public TMapIterator
{
public:
typedef typename TMapIterator::value_type::first_type key_type;
key_iterator() : TMapIterator() { }
key_iterator(TMapIterator iter) : TMapIterator(iter) { }
key_type* operator->()
@maxtruxa
maxtruxa / broken_vcxx.cpp
Last active August 29, 2015 14:23
VC++ bug: std::unique_ptr with std::is_same<element_type, pointer>::value == true
#include <iostream>
#include <memory>
int main() {
struct my_type {
void poke() { std::cout << "poke\n"; }
};
typedef my_type* my_type_ptr;
struct my_deleter {
#include "StdAfx.h"
#include <cmath>
bresenham_line::bresenham_line()
: _x{}, _y{}, _error{}, _first_iteration{} { }
void bresenham_line::initialize(point_t const& start, point_t const& end)
{
this->initialize(start.X, start.Y, end.X, end.Y);
}
#include "perlin_noise.hpp"
#include <numeric>
#include <random>
namespace detail {
namespace perlin_noise {
double fade(double t)
{
return t * t * t * (t * (t * 6 - 15) + 10);
@maxtruxa
maxtruxa / hstart.c
Last active December 30, 2015 20:49
CLI utility for Windows that can start a process hiding it's window. #c #windows #cli
//
// The MIT License (MIT)
//
// Copyright (c) 2013 Max Truxa
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
@maxtruxa
maxtruxa / sudoku.cpp
Created January 10, 2014 05:46
Simple Sudoku solver. #cpp #cli
//
// The MIT License (MIT)
//
// Copyright (c) 2013 Max Truxa
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
@maxtruxa
maxtruxa / index.html
Created August 24, 2016 09:15
sch-sz.de
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Rezepte C&amp;C</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<style>
.no-padding {
@maxtruxa
maxtruxa / Trace.h
Last active April 7, 2017 06:43
Common tracing definitions for Windows drivers. #windows #driver
//
// The MIT License (MIT)
//
// Copyright (c) 2013-2014 Max Truxa
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,