boost::python and non-virtual interface idiom
boost::python を使用して仮想関数を持つクラスを python 側に公開する場合、ラッパークラスを用意する必要がある。(詳しくはboostのドキュメントなどを参照。)
しかし、Non-virtual interface (NVI) と呼ばれるイディオムを使用すれば、ラッパークラスが不要になる。
また、NVIは boost::python とは関係なく使用されているイディオムでもある。詳しくは以下などを参照。
http://www.gotw.ca/publications/mill18.htm













