This document includes the new features, enhancements, and fixed issues for Hazelcast C++ Client 3.9 release.
There are no new features for this release.
Polymorphic Object Support: This release adds the polymorphic object support for all serialization types;
customtypes. You can now use the base type when you get a data structure, for example client.getMap<BaseKey, BaseValue>("mymap"), and put and get derived polymorphic objects to the same data structure.
Mixed Type Unrelated Object Support: This release adds the support for all serialization types for completely unrelated object types to be used at the Hazelcast data structures. You can do this by using the mixed type adopted
HazelcastClient. You can adopt the client in this way:
ClientConfig config; HazelcastClient client(config); mixedtype::HazelcastClient &hazelcastClient = client.toMixedType();
mixedtype::HazelcastClient interface is designed to provide you the data structures which allows you to work with any object types in a mixed manner. For example, the interface allows you to provide the key and value type differently for each map.put call. An example usage is shown below:
mixedtype::IMap map = hazelcastClient.getMap("MyMap"); map.put<int, int>(3, 5); map.put<string, std::string>("string key1", "MyStringValue"); map.put<int, MyCustomObject>("string key1", myCustomInstance); TypedData result = map.get<int>(3);
As you can see in the above code snippet, we are putting
string and MyCustomObject to the same map. Both the key and value can be of different type for each map.put call.
Some of the major bug fixes for this release are listed below. You can find the full list of closed issues and closed PRs at the repo with milestone 3.9
- Build lib in a context of bigger project. [#332]
- Unable to specify include and lib dirs for OpenSSL on Windows and on Linux. [#330]
There are no known issues for this release.