
Computational Biology Toolkit 

Various useful bits of reusable code.


-- Design Notes --

Documentation of various conventions and tricks used in the code.

o Namespace

 To avoid namespace conflicts, all public variables, structures
 and functions are prefixed with 'cbt_'. All macros are prefixed
 with 'CBT_'. Exported, but private symbols are prefixed with
 '__CBT_' or '__cbt_'


o Documentation

Literate programming documentation is extracted using doxygen.
http://www.doxygen.org 
Comments are written in the following style
        
  //! Brief desciption. Longer description 
  //! @param paramname parameter description
  //! @author Some One      


o Indentation
    
Tabs are evil. Code is indented with spaces, 2 spaces per
brace level.


o Header files
       
Header files must check that they are included only once. e.g.

#ifndef __CBT_UTIL_H__
#define __CBT_UTIL_H__
...
#endif /* __CBT_UTIL_H__ */

         
o size_t
        
All arrays should be measured in terms of the size_t type.
This type is unsigned, and not interchangeable with int.
http://sources.redhat.com/gsl/design/gsl-design_toc.html#TOC28

