Skip to content

Instantly share code, notes, and snippets.

@cire3791
cire3791 / ProgressIndicator.cpp
Last active December 21, 2015 17:09
Simple progress indicator for console proof of concept
// Code written by cire, hereby released into the public domain.
#include <sstream>
#include <iomanip>
#include <iostream>
#include <thread>
#include <atomic>
#include <chrono>
#include <array>
@cire3791
cire3791 / Main.cpp
Last active December 19, 2015 03:09
Sieve of Eratosthenes implementation
#include <iomanip>
#include <iostream>
#include <vector>
#include "Sieve.h"
template <typename T>
void print( std::ostream& os, const T& t )
{
const unsigned perRow = 10 ;
const unsigned rowSize = 80 ;
@cire3791
cire3791 / dosomething.cpp
Last active December 17, 2015 10:09
Does a try block have a cost?
#include <vector>
#include "dosomething.h"
unsigned do_something( std::vector<unsigned>& v)
{
unsigned total = 0 ;
for ( unsigned i=0; i<v.size(); ++i )
total += (v[i] += i) ;
return total ;
@cire3791
cire3791 / grid.cpp
Last active December 16, 2015 04:59
Code exploration based on a discussion at http://www.cplusplus.com/forum/lounge/98939/
#include <iostream>
#include "grid.h"
Grid& Grid::flip(std::size_t pos)
{
switch(pos)
{
case 0: _grid.flip(0).flip(1).flip(3) ; break ;
case 1: _grid.flip(0).flip(1).flip(2).flip(4) ; break ;
case 2: _grid.flip(1).flip(2).flip(5) ; break ;
@cire3791
cire3791 / Main.cpp
Last active December 13, 2015 19:29
Evenly distribute new elements between existing queues in a vector.
#include <vector>
#include <queue>
#include <iostream>
#include <random>
#include <string>
#include "QueueManip.h"
void printSizes(const vector_type & v)
@cire3791
cire3791 / linkedlist_mergesort.cpp
Created December 8, 2012 10:28
Merge sort on a (doubly) linked list
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <queue>
#include <chrono>
// merge sort example
class list_info ;
class node ;