view modules/net/doc/mainpage.cpp @ 540:fd2ba28ac54b

Js: add dukx_(get|push)_object
author David Demelier <markand@malikania.fr>
date Wed, 08 Jun 2016 22:12:58 +0200
parents 554d130f45ee
children
line wrap: on
line source

/**
 * @mainpage
 *
 * Welcome to the net library.
 *
 * ## Introduction
 *
 * Portable and convenient library for networking in C++14.
 *
 * ## What it is?
 *
 * A clean and portable set of classes and function wrapping the BSD sockets family. It provides an API as close as
 * possible to the original BSD sockets functions.
 *
 * It is implemented using templates to make sockets as type safe as possible.
 *
 * This module also adds the following:
 *
 *   - Generic synchronous multiplexer based on select, poll, epoll and kqueue,
 *   - Convenient object-oriented option system,
 *   - Convenient object-oriented address system,
 *   - Experimental [OpenSSL][] support.
 *
 * ## What it is not?
 *
 * This module is not a high-level network library. It does not add asynchronous stuff like [Boost.Asio][asio] does. It is
 * targeted to people who like BSD sockets and want low level facilities. It only depends on C++11 standard library and
 * optionally [OpenSSL][].
 *
 * ## Requirements
 *
 *   - C++11.
 *   - OpenSSL, optional.
 *
 * ## Installation
 *
 * Just copy the file net.hpp and add it to your project.
 *
 * ## Overview
 *
 * ````
 * #include "net.h"
 *
 * try {
 *     net::SocketTcpIpv4 sc;
 *
 *     sc.bind(net::address::Ipv4("*", 8080));
 *     sc.listen(64);
 * } catch (const std::exception &ex) {
 *     std::cerr << ex.what() << std::endl;
 *     std::exit(1);
 * }
 * ````
 *
 * [asio]: http://www.boost.org/doc/libs/1_60_0/doc/html/boost_asio.html
 * [OpenSSL]: http://openssl.org
 */