Add support for g++-9 compiler

Summary: related to #7, T13767

Reviewers: ivica

Reviewed By: ivica

Subscribers: miljen, iljazovic

Differential Revision: https://repo.mireo.local/D29302
This commit is contained in:
Korina Šimičević
2024-05-09 11:54:29 +02:00
parent 73ec4431ff
commit 794f48e915
15 changed files with 34 additions and 27 deletions

View File

@ -117,6 +117,16 @@ jobs:
fail-fast: false
matrix:
include:
- toolset: g++-9
compiler: g++-9
install: g++-9
os: ubuntu-latest
container: ubuntu:22.04
build-type: 'Release'
cxxstd: 17
cxxflags: ''
ldflags: ''
- toolset: g++-10
compiler: g++-10
install: g++-10

View File

@ -89,10 +89,10 @@ To see more examples, visit [Examples](https://github.com/mireo/async-mqtt5/tree
Building with CMake
---------
You can use the `CMakeLists.txt` provided in our repository to compile and run any of the [examples](https://github.com/mireo/async-mqtt5/tree/master/example) or your own source files.
The following commands demonstrate compiling and running the previous code using CMake.
The following commands demonstrate compiling and running the previous code using CMake on Linux.
The source file is located at [example/hello_world_over_tcp.cpp](https://github.com/mireo/async-mqtt5/blob/master/example/hello_world_over_tcp.cpp).
```
```bash
# navigate to the root folder of Async.MQTT5
# compile the example
@ -129,7 +129,7 @@ Async.MQTT5 is a header-only library. To use Async.MQTT5 it requires the followi
Async.MQTT5 has been tested with the following compilers:
- clang 12.0, 13.0, 14.0, 15.0 (Linux)
- GCC 10, 11, 12 (Linux)
- GCC 9, 10, 11, 12 (Linux)
- MSVC 14.37 - Visual Studio 2022 (Windows)
Contributing

View File

@ -81,7 +81,7 @@ To see more examples, visit [link async_mqtt5.examples Examples].
[heading Building with CMake]
You can use the `CMakeLists.txt` provided in our repository to compile and run any of the [link async_mqtt5.examples examples] or your own source files.
The following commands demonstrate compiling and running the previous code using CMake.
The following commands demonstrate compiling and running the previous code using CMake on Linux.
The source file is located at [ghreflink example/hello_world_over_tcp.cpp example/hello_world_over_tcp.cpp].
# navigate to the root folder of Async.MQTT5
@ -122,7 +122,7 @@ To use __Self__ it requires the following:
__Self__ has been tested with the following compilers:
* clang 12.0, 13.0, 14.0, 15.0 (Linux)
* GCC 10, 11, 12 (Linux)
* GCC 9, 10, 11, 12 (Linux)
* MSVC 14.37 - Visual Studio 2022 (Windows)
[heading Acknowledgements]

View File

@ -34,11 +34,10 @@ private:
Handler _handler;
public:
tracked_op(Handler&& h, const Executor& ex) :
_executor(tracking_executor(h, ex)),
_handler(std::move(h))
_executor(tracking_executor(h, ex)), _handler(std::move(h))
{}
tracked_op(tracked_op&&) noexcept = default;
tracked_op(tracked_op&&) = default;
tracked_op(const tracked_op&) = delete;
using executor_type = tracking_type<Handler, Executor>;

View File

@ -31,7 +31,7 @@ public:
)
{}
cancellable_handler(cancellable_handler&& other) noexcept = default;
cancellable_handler(cancellable_handler&&) = default;
cancellable_handler(const cancellable_handler&) = delete;
using executor_type = tracking_type<Handler, Executor>;

View File

@ -45,8 +45,7 @@ public:
const std::shared_ptr<client_service>& svc_ptr,
DisconnectContext&& context, Handler&& handler
) :
_svc_ptr(svc_ptr),
_context(std::move(context)),
_svc_ptr(svc_ptr), _context(std::move(context)),
_handler(std::move(handler), _svc_ptr->get_executor())
{
auto slot = asio::get_associated_cancellation_slot(_handler);
@ -56,7 +55,7 @@ public:
});
}
disconnect_op(disconnect_op&&) noexcept = default;
disconnect_op(disconnect_op&&) = default;
disconnect_op(const disconnect_op&) = delete;
using executor_type = asio::associated_executor_t<handler_type>;
@ -185,7 +184,7 @@ public:
_handler(std::move(handler), _svc_ptr->get_executor())
{}
terminal_disconnect_op(terminal_disconnect_op&&) noexcept = default;
terminal_disconnect_op(terminal_disconnect_op&&) = default;
terminal_disconnect_op(const terminal_disconnect_op&) = delete;
using executor_type = asio::associated_executor_t<handler_type>;

View File

@ -33,7 +33,7 @@ public:
_owner(owner), _handler(std::move(handler))
{}
resolve_op(resolve_op&&) noexcept = default;
resolve_op(resolve_op&&) = default;
resolve_op(const resolve_op&) = delete;
using executor_type = asio::associated_executor_t<handler_type>;

View File

@ -79,7 +79,7 @@ public:
});
}
publish_send_op(publish_send_op&&) noexcept = default;
publish_send_op(publish_send_op&& other) = default;
publish_send_op(const publish_send_op&) = delete;
using executor_type = asio::associated_executor_t<handler_type>;

View File

@ -30,7 +30,7 @@ public:
_handler(std::move(handler))
{}
read_op(read_op&&) noexcept = default;
read_op(read_op&&) = default;
read_op(const read_op&) = delete;
using executor_type = asio::associated_executor_t<handler_type>;

View File

@ -66,7 +66,7 @@ public:
_handler(std::forward<Handler>(handler))
{}
reconnect_op(reconnect_op&&) noexcept = default;
reconnect_op(reconnect_op&&) = default;
reconnect_op(const reconnect_op&) = delete;
using executor_type = asio::associated_executor_t<handler_type>;

View File

@ -56,8 +56,8 @@ public:
});
}
subscribe_op(subscribe_op&&) noexcept = default;
subscribe_op(const subscribe_op&) noexcept = delete;
subscribe_op(subscribe_op&&) = default;
subscribe_op(const subscribe_op&) = delete;
using executor_type = asio::associated_executor_t<handler_type>;
executor_type get_executor() const noexcept {

View File

@ -51,8 +51,8 @@ public:
});
}
unsubscribe_op(unsubscribe_op&&) noexcept = default;
unsubscribe_op(const unsubscribe_op&) noexcept = delete;
unsubscribe_op(unsubscribe_op&&) = default;
unsubscribe_op(const unsubscribe_op&) = delete;
using executor_type = asio::associated_executor_t<handler_type>;
executor_type get_executor() const noexcept {

View File

@ -22,11 +22,10 @@ class write_op {
public:
write_op(Owner& owner, Handler&& handler) :
_owner(owner),
_handler(std::move(handler))
_owner(owner), _handler(std::move(handler))
{}
write_op(write_op&&) noexcept = default;
write_op(write_op&&) = default;
write_op(const write_op&) = delete;
using executor_type = asio::associated_executor_t<handler_type>;

View File

@ -40,7 +40,7 @@ public:
_args(std::move(args)...)
{}
delayed_op(delayed_op&&) noexcept = default;
delayed_op(delayed_op&&) = default;
delayed_op(const delayed_op&) = delete;
using executor_type = asio::steady_timer::executor_type;

View File

@ -118,7 +118,7 @@ public:
});
}
read_op(read_op&&) noexcept = default;
read_op(read_op&&) = default;
read_op(const read_op&) = delete;
using executor_type = test_stream_impl::executor_type;
@ -173,7 +173,7 @@ public:
_handler(std::move(handler))
{}
write_op(write_op&&) noexcept = default;
write_op(write_op&&) = default;
write_op(const write_op&) = delete;
using executor_type = test_stream_impl::executor_type;