Agent-based simulation (ABS) has shown great success for the study of complex adaptive systems which are hard or even impossible to analyse using conventional analytical techniques. For reasons of performance and flexibility, non-trivial ABS models are often implemented in general purpose programming languages like Java or C++. As a consequence of the generality of those languages, simulation-based agents are traditionally rule-based and thus rather ‘myopic’ in nature which critically limits their level of behavioural sophistication. In the more general area of multiagent systems, agent-oriented programming (AOP) has emerged as a powerful paradigm for the implementation of intelligent, practically reasoning agents. However, current AOP languages tend to prioritise expressivity over performance which critically limits their application in a time-critical simulation context. The goal of this work is to address this problem and to bridge the gap between the world of C++-based simulation and the world of practically reasoning agents. We present a first version of an efficient and customisable C++-based BDI framework, equipped with a declarative AOP interface that allows for the implementation of BDI-based agents on a high level of abstraction without compromising on performance. The balance between efficiency and convenience of development is achieved by utilising advanced template metaprogramming techniques.