<commit_before>Introduction
============

Library / Bindings
------------------

This C++ binding for 0mq/zmq is a 'high-level' library that hides most of the
c-style interface core 0mq provides. It consists of a number of header and
source files all residing in the zmq directory, these files are provided under
the MPLv2 license (see LICENSE for details).

They can either be included directly into any 0mq using project or used as a
library. A really basic Makefile is provided for this purpose and will generate
both shared and static libraries.

There are a number of unit tests covering the code but in no way should the
tests be considered complete.

Command-Line Client
-------------------

There is also a command line client that can be used to test or even bridge
zmq connections. The client is built on top of the libzmqpp bindings.

Feature Requests
================

If there is any missing features from the current versions of ZeroMQ that you
wish to use please raise an issue against this project, or even a pull request.

Generally I've only added things as I need them but I'm always happy to improve
the feature set as people require.

Contributing
============

Contribution to this binding is welcome and it is suggested using pull requests
in github that will then be reviewed and merged or commented on. The full
contribution is outlined on the zmq site (http://zeromq.org/docs:contributing)

Please feel free to add yourself to the AUTHORS file in an alphanumerically
sorted way before you raise the pull request.

Documentation
=============

Most of the code is now commented with doxygen style tags, and a basic
configuration file to generate them is in the root directory.

To build the documentation with doxygen use

    doxygen zmqpp.doxygen.conf

And the resulting html or latex docs will be in the docs/html or docs/latex
directories.


libzmqpp
========

There is a Makefile provided which will build, test and install the binding on
a GNU Linux system. I have not tested it on anything other than Ubuntu since
11.04 and Centos 5 and 6.

The install process will only install headers and the shared object to the
system. The archive will remain in the build directory.

The tests for the binding (make check) require the boost unittest framework to
have been installed however these do not need to be built or run to install
the library itself.

Requirements
------------

ZeroMQ 2.2.x or later
C++0x compliant compiler

The command line client and the tests also require libboost.


Installation
------------

Installation can be done by the standard make && make install. If the boost
unittest framework is install check and installcheck can be run for sanity
checking.To use ZMQ4 security feature install libsodium and libzmq --with-libsodium
as shown below before ZMQPP.

    # Build, check, and install libsodium
    git clone git://github.com/jedisct1/libsodium.git
    cd libsodium
    ./autogen.sh 
    ./configure && make check 
    sudo make install <commit_msg>Update requirements.<commit_after>Introduction
============

Library / Bindings
------------------

This C++ binding for 0mq/zmq is a 'high-level' library that hides most of the
c-style interface core 0mq provides. It consists of a number of header and
source files all residing in the zmq directory, these files are provided under
the MPLv2 license (see LICENSE for details).

They can either be included directly into any 0mq using project or used as a
library. A really basic Makefile is provided for this purpose and will generate
both shared and static libraries.

There are a number of unit tests covering the code but in no way should the
tests be considered complete.

Command-Line Client
-------------------

There is also a command line client that can be used to test or even bridge
zmq connections. The client is built on top of the libzmqpp bindings.

Feature Requests
================

If there is any missing features from the current versions of ZeroMQ that you
wish to use please raise an issue against this project, or even a pull request.

Generally I've only added things as I need them but I'm always happy to improve
the feature set as people require.

Contributing
============

Contribution to this binding is welcome and it is suggested using pull requests
in github that will then be reviewed and merged or commented on. The full
contribution is outlined on the zmq site (http://zeromq.org/docs:contributing)

Please feel free to add yourself to the AUTHORS file in an alphanumerically
sorted way before you raise the pull request.

Documentation
=============

Most of the code is now commented with doxygen style tags, and a basic
configuration file to generate them is in the root directory.

To build the documentation with doxygen use

    doxygen

And the resulting html or latex docs will be in the docs/html or docs/latex
directories.


libzmqpp
========

There is a Makefile provided which will build, test and install the binding on
a GNU Linux system. I have not tested it on anything other than Ubuntu since
11.04 and Centos 5 and 6.

The install process will only install headers and the shared object to the
system. The archive will remain in the build directory.

The tests for the binding (make check) require the boost unittest framework to
have been installed however these do not need to be built or run to install
the library itself.

Requirements
------------

ZeroMQ 2.2.x or later. We recommend to use ZeroMQ >= 3.
C++11 compliant compiler. (g++ >= 4.7)

The command line client and the tests also require libboost.


Installation
------------

Installation can be done by the standard make && make install. If the boost
unittest framework is install check and installcheck can be run for sanity
checking.To use ZMQ4 security feature install libsodium and libzmq --with-libsodium
as shown below before ZMQPP.

    # Build, check, and install libsodium
    git clone git://github.com/jedisct1/libsodium.git
    cd libsodium
    ./autogen.sh 
    ./configure && make check 
    sudo make install 
{'fraction_non_alphanumeric': 0.06958677685950414, 'fraction_numerical': 0.005619834710743801, 'mean_word_length': 3.6689814814814814, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '31258', 'n_tokens_mistral': 1578, 'n_tokens_neox': 1482, 'n_words': 920}