Skip to content

Instantly share code, notes, and snippets.

template<typename T> class IdxIterator
{
private:
T* container;
std::size_t idx;
public:
inline IdxIterator(T* mContainer, std::size_t mIdx) noexcept : container{mContainer}, idx{mIdx} { }
inline IdxIterator(const IdxIterator& mOther) noexcept = default;
2>&1 | asan_symbolize.py | c++filt
@vittorioromeo
vittorioromeo / arkanoid.cpp
Created October 13, 2013 16:40
Arkanoid in 170 lines of C++11 and SFML2
#include <vector>
#include <random>
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
using namespace std;
using namespace sf;
constexpr float raggioPallina{5.f};
constexpr float lunghezzaBlocco{60.f}, altezzaBlocco{20.f};
@vittorioromeo
vittorioromeo / ecstests.hpp
Last active December 25, 2015 00:59
entity/component system tests
#include <stack>
#include <vector>
#include <tuple>
#include <numeric>
#include <cstdint>
#include <array>
#include <cassert>
#include <unordered_map>
#include <bitset>
#include <SSVUtils/SSVUtils.h>
#!/bin/bash
#g++ -O3 -DNDEBUG -std=c++11 -Wall -Wextra -W -pedantic -pthread "$@"
#clang++ -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wcomment -Wchar-subscripts -Wenum-compare -Wformat -Wimplicit -Wimport -Winline -Wlarger-than- -Wmissing-declarations -Wnested-externs -Woverloaded-virtual -Wparentheses -Wpointer-arith -Wredundant-decls -Wreorder -Wreturn-type -Wshadow -Wstrict-prototypes -Wswitch -Wsynth -Wtypename-missing -Wuninitialized -Wunused -Wwrite-strings "$@" #-fsanitize=address-full -g -O0
#clang++ -O3 -DNDEBUG -std=c++11 -Wall -Wextra -W -pedantic -pthread -Weffc++ "$@" -fsanitize=float-divide-by-zero -fsanitize=undefined -fsanitize=integer -fsanitize=bool -fsanitize=enum -fsanitize=bounds -fsanitize=integer-divide-by-zero -fsanitize=null -fsanitize=return -fsanitize=unreachable -fsanitize=vptr
#clang++ -g -g3 -std=c++11 -Wall -Wextra -W -pedantic -pthread -Weffc++ "$@" -fsanitize=float-divide-by-zero -fsanitize=undefined -fsanitize=integer -fsanitize=bool -fsanitize=enum -fsanitize=bound
@vittorioromeo
vittorioromeo / gist:6867938
Created October 7, 2013 13:24
subl preferences
{
"auto_match_enabled": false,
"bold_folder_labels": true,
"caret_style": "phase",
"color_scheme": "Packages/Monokai Extended/Monokai Extended Bright.tmTheme",
"font_face": "lemon",
"font_size": 8,
"ignored_packages":
[
"Vintage"
@vittorioromeo
vittorioromeo / gist:6867570
Last active December 24, 2015 21:39
Yaourt packages
a52dec
aalib
acl
alsa-lib
alsa-plugins
alsa-utils
apng-utils
apr
apr-util
archlinux-keyring
template<typename T> class PingPongValue
{
private:
T value, min, max, speed, dir{1};
public:
inline PingPongValue(T mMin, T mMax, T mSpeed) : value(mMin), min(mMin), max(mMax), speed(mSpeed) { }
inline void update(float mFT)
{
value += speed * mFT * dir;
SSVU_TEST("Delegate tests")
{
using namespace std;
using namespace ssvu;
bool testState{false};
Delegate<void()> del1;
del1 += [&testState]{ testState = !testState; };
del1(); EXPECT(testState == true);