Skip to content

Instantly share code, notes, and snippets.

View NewbiZ's full-sized avatar
😎

Aurélien Vallée NewbiZ

😎
View GitHub Profile
@NewbiZ
NewbiZ / split_string.cpp
Created December 6, 2010 08:12
Split a string using a delimiter
void split( const std::string& str, char delim, std::vector<std::string>& tokens )
{
std::stringstream iss(str);
std::string item;
while ( std::getline(iss, item, delim) )
{
if ( !item.empty() )
tokens.push_back(item);
}
}
@NewbiZ
NewbiZ / chop_string.cpp
Created December 6, 2010 08:15
Chop trailing characters from a string
void chop( std::string& str, const std::string& whitespaces=" \t\f\v\n\r" )
{
size_t found = str.find_last_not_of( whitespaces );
if ( found!=std::string::npos )
str.erase( found+1 );
else
str.clear();
}
@NewbiZ
NewbiZ / join_string.cpp
Created December 8, 2010 22:16
Join a container of strings into a single one, with a delimiter
namespace
{
struct add_delimiter
{
add_delimiter( const std::string& d )
{ delimiter = d; }
std::string operator()( const std::string& lhs, const std::string& rhs )
{ return lhs + (lhs.empty() ? "" : delimiter) + rhs; }
@NewbiZ
NewbiZ / trim_string.cpp
Created December 8, 2010 22:31
Trim a string
void trim( std::string& str, const std::string& whitespaces=" \t\f\v\n\r" )
{
size_t found = str.find_first_not_of( whitespaces );
if ( found!=std::string::npos )
str.erase( 0, found );
else
str.clear();
}
@NewbiZ
NewbiZ / replace_string.cpp
Created December 8, 2010 22:55
Replace a string by an other one
void replace( const std::string& from, const std::string& to, std::string& str )
{
size_t pos;
while ( (pos=str.find(from)) != std::string::npos )
str.replace( pos, from.size(), to );
}
@NewbiZ
NewbiZ / gist:5541524
Last active December 10, 2021 20:46
Just a snippet to swap red and blue in a BGRA buffer, to get a RGBA buffer (useful when loading TGA).
#ifdef __SSSE3__
# include <xmmintrin.h>
# include <tmmintrin.h>
#endif
posix_memalign((void**)&pixels, 16, sizeof(unsigned int)*PIXEL_COUNT);
/*
* Mind this will only work for width * height % 16 == 0 textures
@NewbiZ
NewbiZ / gist:a401f28ae24f36b62db8
Created January 28, 2015 21:42
Example rgbdbg session on a simple Z80 program that sums up integers in register a
$ ./target/rgbdbg
RGB debugger 0.0.1
Copyright (C) 2015 Aurelien Vallee
License MIT: http://opensource.org/licenses/MIT
(rgbdbg) h
Commands:
help |h List available commands
file |f Load Z80 executable binary
next |n Step execute the next instruction
run |r Run the program until Cpu is stopped
@NewbiZ
NewbiZ / now.cpp
Last active May 18, 2019 19:58
Current time string C++
#include <string>
#include <ctime>
std::string now()
{
std::time_t tt = std::time(NULL);
std::string s = std::ctime(&tt);
return s.substr(0, s.size()-1);
}
#include <getopt.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <limits.h>
void
version(void)
{
printf("HTTPMon 1.0.0\n");
set -g utf8 on
set-window-option -g utf8 on
set -g status-utf8 on
set -s escape-time 0
set -g default-terminal "screen-256color"
bind-key -n C-right next
bind-key -n C-left prev