2012 in Review

Here is an overview of the things that I’ve done in 2012. Codexpert Revamped The main site for the Romanian C++ community has a brand new, modern look (all built with HTML5), making things easier to find. We also now feature a blog in English, which is intended to replace the old article section. codexpert.ro … Read more

cpplinq: set operators

In the previous posts I introduced cpplinq, a C++ template library that provides .NET-like query operators for sequences of objects in C++11. In this third installment I will discuss the set operators the library provides. There are four set operators: distinct, union_with (called so because union is a keyword in C++), intersect_with (suffix _with is … Read more

cpplinq: range generators and conversion operators

In my previous post I introduced cpplinq, a C++ template library that provides .NET-like query operators for sequences of objects in C++11. In this second installment I will discuss about two things: range generators and range conversion operators. These two sets of operators are ubiquitous in queries. Range generators A range generator builds an object … Read more

cpplinq: An introduction

cpplinq is a C++ template library that provides .NET-like query operators for sequences of objects in C++11. cpplinq is an open-source library that works both with VC++ compilers (2010 and 2012) and gcc (4.7.0 is the version used for unit tests). The library supports most of the .NET query operators and is extendable with additional … Read more

Keyboard input and TAB navigation between WPF controls in a Win32 application

It is possible to host WPF controls in a Win32 application, and the other way around, but because of the differences betweeb these technologies there are various issues that can appear. One of these is handling of keyboard input. Without diving too much into differences between WPF and Win32, I will show how to provide … Read more

How to Determine What Process Loaded a DLL

Trying to figure out in which process a particular DLL is currently loaded, I have found two solutions (perhaps there are more). Solution 1: tasklist.exe tasklist /m <modulename>.dll Solution 2: listdlls.exe (from sysinternals) listdlls -d <modulename>.dll It might be that listdlls is more reliable than tasklist. I have ran into cases when tasklist failed to … Read more

T4 Lessons Learned

Working with T4 recently I learned a couple of valuable lessons I’d like to share. Lesson 1: Template Language One of the parameters of the language directive is the language, which specifies the language used in the code blocks of the template. Two languages are specified, C# and VB. <#@ template language=”C#” #> However, any … Read more

Great Artists Steal

So Apple won an important battle with Samsung (in a US court where a juror said it was clear to the jury after the first day of the trial that Samsung stole ideas from Apple, which made the rest of the one year long trial moot). Apple accused Samsung of stealing. And it’s probably not … Read more

A tale of two flags: DS_CONTROL and WS_EX_CONTROLPARENT

I recently ran into problems with an MFC application that was hosting some Windows Form user control in a modal dialog; the application hanged after it lost focus. The problem was the window received WM_GETDLGCODE message in an infinite loop making it impossible to handle anything else. After a lot of digging, I found that … Read more