* Added overload constructor (c++11 only) taking iteratable object.
It would be easier to use std::string, std::array etc to construct
a message now. Making it a draft for now in case it is too greedy
and needs to be more specialize.
* Added equal and not euqal operator to message_t as a recommended
and expected way of comparing objects in C++.
* deprecated C style equal method as operator== should be used instead
(point above).
* Added message_t test covering all available message_t's constructors
* Problem: Poller's handler not aware of event type.
It was possible to register a handler for more than one event types but
impossible to distinguish which event is being handled.
Now events are passed to a handler.
Besides that some other changes:
* new test covering changes in the poller
* modified existing tests to cover changes in the poller
* defined handler_t in poller_t scope for more convinient use
and simpler code
* helper loopback binder to be re-used in tests
* Problem: CMake build fails on Windows
Issue #199
It seems that with GCC on Linux <array> is implicitly included
by one of stl includes already in zmq.hpp but it breaks on Windows
with Visual Studio.
Adding explicit include for array.
Can not verify right now but this change is a good practice
so creating a pull request.
* Poller: array include not between C++11 guards
@sigiesec's recent commits with gtests and basics tests for zmq
types (thanks for that!) makes it too convinient to not add some more tests.
* Adding some simple tests for poller_t
* Stripped whitespaces from poller implementation.
When cppzmq is build out of source e.g. ${CMAKE_SOURCE_DIR}/build:
mkdir build
cd build
cmake ..
then .git is not found properly, DRAFT build not enabled and poller test
not added to pool of tests.
Added a str() method and companion operator<<(std::ostream) similar to multipart_t.
Added some comments to mark the end of preprocessor instructions / class def / namespace def.
when cppzmq is not the root folder of cmake (i.e., it is embedded in a
super project), CMAKE_SOURCE_DIR will not be the correct path to copy
FindZeroMQ.cmake.
and add it to CMAKE_MODULE_PATH on failed load
this allows downstream packages that have loaded cppzmq to call find_package(ZeroMQ) and succeed without shipping their own copy of the fallback.
Additionally, a check for if the libzmq target is defined avoids duplicate definitions when called multiple times