cd24aadc4b384ba99d42b1d7822a7de9fe375b15
[senf.git] / Mainpage.dox
1 /** \mainpage SENF: The Simple and Extensible Network Framework
2
3     The SENF Simple and Extensible Network Framework aims to be a
4     complete set of libraries to facilitate the development of network
5     applications focusing on network protocols on the layers below the
6     application layer. However, the framework includes many general
7     purpose utilities and will be expedient to use well beyond its
8     primary objective.
9
10     \section goals Goals
11
12     The main goals where
13
14     \li modular framework design
15     \li utilizing the power of modern C++
16     \li very low overhead for frequently called members
17     \li extensible design    
18     \li concise interface
19
20     \section code Coding practices
21
22     The library heavily depends on the features of modern C++. As
23     such, it depends on a fairly recent and standards compliant C++
24     compiler (the Library is developed using \c gcc with Version at
25     least 3.4). To meet the above defined goals, the library makes
26     quite heavy use of advanced templating techniques, so
27     understanding the implementation will require expertise in the
28     intricacies of C++ templates. However, it was deemed important to
29     keep the \e visible Interface of the Library as clean and simple
30     as possible without sacrificing the projects design goals.
31
32     The library heavily depends on the \e Boost libraries (see
33     http://www.boost.org). The Boost libraries are an ever growing
34     collection of highest quality reusable C++ components. They are
35     designed with standardization in mind. Many of the libraries are
36     already in queue to be part of the next generation C++ standard.
37    
38     \section Dependencies
39
40     \li A standards compliant, modern C++ compiler. The library as
41         such is developed under Linux using \c gcc with Version
42         above 3.4
43     \li The Boost libraries from http://www.boost.org
44     \li The SCons build tool (see http://www.scons.org)
45     \li Linux. The library only makes use of the POSIX API's, however
46         it has not been tested beyond Linux, so if you are somewhere
47         else, you are on your own. However, we will greatly appreciate
48         feedback and patches for other platforms.
49 */
50
51 \f
52 // Local Variables:
53 // mode: c++
54 // End: