C++

Polymorphic C# and Java Using SWIG

Polymorphic C# and Java Using SWIG

By default SWIG generates C# and Java code that does not support downcast for polymorphic return types.  I found a straightforward way to solve this, provided your C++ code has a way to identify the concrete class of the C++ instances that are returned.  That is, this technique will work only if the C++ API you are wrapping with SWIG has something similar to C# object.GetType() or Java Object.getClass(). More

CMake Directory Variables

CMake creates software build systems for a wide variety of platforms based on a single, unified control file–it’s a makefile maker. You create the CMake control file once and based on this file, CMake will create almost any build environment for you: GNU Make for Linux, Eclipse project, Visual Studio solution for Windows, and the list goes on. More

Use Multilingual UTF-8 Strings with any OpenAccess Version

Use Multilingual UTF-8 Strings with any OpenAccess Version

In this article I show you how to use multilingual UTF-8 strings with standard, unmodified OpenAccess oa-22.04p028 release.

In the last  article, I introduced UTF-8, the popular 8 bit encoding of Unicode into multibyte character strings that can represent virtually every written language in history.  I presented the OpenAccess software changes required to fully support UTF-8 and showed you how to convert your existing application software to properly manipulate UTF-8 in the OpenAccess oaString class. More

Modify OpenAccess to Handle Multilingual UTF-8 Strings Natively

Modify OpenAccess to Handle Multilingual UTF-8 Strings Natively

I once had a job scrutinizing Virtuoso schematics that contained many useful annotations written in Italian.  EDA tools generally support only ASCII strings, but the Italian designers were lucky–theirs is one of the few languages that can be written naturally using the same characters as English.

Wouldn’t it be nice to annotate designs in OpenAccess databases using any of the world’s languages?  You can do it right now, using any OpenAccess release. More

Eclipse IDE with OpenAccess

Eclipse IDE with OpenAccess

Eclipse works great for me as an C++ integrated development environment (IDE) for OpenAccess-based applications. It supports all the same platforms as OpenAccess, and it’s free software.

This article addresses C++ application development using Eclipse CDT.  I wrote another article on using Eclipse PyDev to develop OpenAccess Python applications.

Here’s how to get started. Your comments and corrections are always appreciated.

More