New MINOR release 00.31.00 Changes since 00.30.00: Features: - Using C++14 compiler flags (needed for some lambda expressions) - New FILL_VIRTUAL_FUNCTION_TEMPLATE_VTABLE_STANDALONE macro which works like FILL_VIRTUAL_FUNCTION_TEMPLATE_VTABLE but does not require the DEFINE_VIRTUAL_FUNCTION_TEMPLATE_VTABLE_FILLER - Introduced DataType class to provide runtime information about the used implementation data type. - Added callForType() function which allows to "convert" from a runtime type_info to a compile-time type (available for std::type_info and ChimeraTK::DataType) - Added SharedDummyBackend - Added access mode flags to Device::getTwoDRegisterAccessor. Now raw 2D accessors can be created. - Added setAsCoocked() and getAsCoocked() to abstractor accessors. - New macros DECLARE_TEMPLATE_FOR_CHIMERATK_USER_TYPES and INSTANTIATE_TEMPLATE_FOR_CHIMERATK_USER_TYPES to speed up compilation by providing instances of template classes already in the library. - Added rawDataType() (and currently unused transportLayerDataType()) to the RegisterInfo class. - Data members of RegisterInfoMap are now const, so they cannot be modified after creation of the object. - The Linux-specific PCIe backend now is optional in the compilation. DeviceAccess now also compliles on MacOS. Bug fixes: - Raw transfer type now set correctly for numerically addressed backends. - ScalarRegisterAccessor also works for strings. - Fixed register catalogue entry for multiplexed 2D registers