Thiago's website

If you want to know about me click here.

Hobby Projects

Cake C23 transpiler

Castle

Installer

makeunittest

Chronological view

2023

lifetime checks for C Jun 2023


2022

What if structs were passed by pointer Dez 2022

pointer + size in C Dez 2022

New site Dez 2022


2021

Memory log May 2021

Linked malloc May 2021

Make unit test visual studio project May 2021

Make unit test command line May 2021

format %0 April 2021

Safe C Tips April 2021

expression compiler Fev 2021

copy file Jan 2021

replacing parts of files Jan 2021

directory iteration windows Jan 2021

build script in C Jan 2021


2020

search engine dez 2020

capture dez 2020

readfile dez 2020

make container dez 2020

double buffer conio October 2020

thread local error object October 2020

allocator September 2020

malloc and new September 2020

simple expression parser June 2020

performance test std::visitor x switch June 2020

almagamation function/program June 2020

shared object in C June 2020

increment build number in a file June 2020

sprintf with dynamic allocation May 2020

Additions into C language I would like to have March 2020

quick and dirty dynamic array February 2020

Permutations February 2020

if with initializer and defer January 2020

Date and time January 2020


2019

History of C October 2019

String replace September 2019

String builder with stack optimization September 2019

Unit Testing Sockets June 2019

Exchange json May 2019

Memory check April 2019

switch case generator for strings April 2019

Stream April 2019

String Set March


2018

Merge periods October 2018

Count land March 2018

osstream May 2018

List files April 2018

Error object March 2018 / Updated October 2020

Local String Builder Jan 2018


2017

try except Sep 2017

yield Aug 2017

Unions types in C11 May 2017

Map int April 2017

valist on heap March 2017

git hub pages February 2017


2016

Parse expressions March 2016

Markdown Fev 2016


2015

Actors C++ July 2015

Actors C June 2015

Physics March 2015

vector of void* in c March 2015

Wide char string in c March 2015

Line segment intersection March 2015

Performance test list of strings March 2015

String test in c17/03/2015

getline in c 12/03/2015

Binary tree in c March 2015

Quicksort and binary search in C March 2015

Closed polimorphism in C March 2015

Macro to check arguments January 2015

C special "member" functions January 2015

Performance test 16/01/2015

Closure container January 2015

Closures in C January 2015


2014

Interfaces like COM in C December 2014

C string December 2014

Thread pool in C December 2014

More C October 2014

Threads in C 11 October 2014

Multimethods - Double Dispatch - Less Coupling - Non intrusive Polimorphism October 2014

SSL references May 2014


2013

HTTP references December 2013

* type_ptr- Using generic lambdas November 2013

* type_ptr November 2013

polymorphic_list Updated October 2013

TypePointer October 2013

ReadAllLines October 2013

UuidCreateString October 2013

tklgen (Update) September 2013

TempFileName on windows July 2013

Visitor x typedid x dynamic_cast April 2013

BitSet enum C++ 11 March 2013

UnitTest 2013 March 2013

String to file March 2013

Make C++ literal string March 2013

String literal to string February 2013

tklgen January 2013

Timers using C++11 January 2013


2012

C++11 properties review November 2012

make_shared x new October 2012

Some c++ coding guidelines September 2012

Distance point line-segment September 2012

Angle July 2012

Exception cost? June 2012

Math lib May 2012

Minimum type to hold an unsigned May 2012

Some ideas about dot operator overloding May 2012

Floating point numbers May 2012

Computer integer math April 2012

Literal to constant April 2012

Printing STL types April 2012

Type of type February 2012

Inertia animations January 2012

Properties in C++ January 2012

dynamic_cast x "virtual cast" and QueryInterface January 2012

Class layout in VC++ January 2012


2011

Compile time parser December 2011

Canvas++ December 2011

ParsePositiveInt (atoi simplified) December 2011

Alternative to std::function - Almost generic member function pointer October 2011

Normal pointers and references to shared objects September 2011

Performance using shared_ptr Septemver 2011

unsigned Add/Subtract July 2011

Array M*N May 2011

TDiff - My free file comparison tool April 2011

Converting from WinMain to main April 2011


2010

Polymorphism in C style December 2010

Interface cast revisited November 2010

Using the codecvt_utf8 class November 2010

Stopwatch class using clock_t October 2010

Simple string class using C++0x September 2010

Win32 express July 2010

DateTime July 2010

Char names June 2010

Windows assert May 2010

Technique to remove WndProc switches. (Windows message switcht) April 2010

statistics April 2010

Immutable math vector class March 2010

Fun with lambdas - foreachwhere February 2010


2009

*TkGen 0.1 - A Lexical Analyzer Generator November 2009

Pattern matching October 2009

Container Queries October 2009

Interface cast September 2009

Little test: Exceptions runtime overhead September 2009

VC++ Warning tips July 2009

Rational Number class July 2009

Simple Unit Test Framework for C++ (updated) July 2009

Recipes to transform ideas into real software July 2009

SimpleThread class July 2009

Dependency properties 2 June 2009

GuiExpress May 2009

*Dependency properties 28 April 2009

Time Value of Money February 2009

Bisection Method February 2009

Measuring virtual function call cost January 2009

*Simple Tokenizer class January 2009

Input function like in BASIC January 2009


2008

*Comparing two approaches to implement polymorphic collections November 2008

Assertions in compile time November 2008

*Comparing two files (binary) November 2008

Memory October 2008

cmp_nocase for standard strings October 2008

Turbo C console functions October 2008

Multimethods in C++ August 2008


2007

My implementation of the std::tr1::function December 2007

My naming conventions December 2007

Why the pair review is not the best option? November 2007

Palindrome check March 2007

Stopwatch class (QueryPerformanceCounter) March 2007

Creating COM objects directly from the dll February 2007


2006

Find-Replace for standardstrings December 2006

Virtual iterator November 2006

tra::shared_ptr - implementation August 2006

Function wrapper testing the class invariant February 2006


2005

River Crossing Puzzle October 2005

Exceptions in constructors August 2005

Enumeration used as a set of bits August 2005 (updated 2010)

Using the Koenig lookup - Argument dependent name lookup (ADL) 1 August 2005


2004

gc - Simple class to detect memory leaks 24 December 2004

Disabling constructors that you are not using 30 June 2004