ABSTRACT

In this chapter, we discuss the main techniques used in SeqAn to achieve the design goals that we described in Section 3.2, namely generic programming (Section 4.2), template subclassing (Section 4.3), global interfaces (Section 4.4), and metafunctions (Section 4.5). The combination of these four techniques forms the core design of SeqAn. In Section 4.6 we will propose further programming techniques that we apply in SeqAn. We start with discussing the reasons for using the programming language C++.