Skip to content

Conversation

@ClausKlein
Copy link

The coanan package is created with cmake and tested with ctest

The coanan package is created with cmake and tested with ctest
@ClausKlein
Copy link
Author

I did not change any code nor a config script, the CI build failure must be not my fault!
My cmake and conan config files are tested on mac OS X, msys2, and windows 7 with visual studio 2017

@ClausKlein ClausKlein mentioned this pull request Apr 6, 2018
chriskohlhoff and others added 27 commits April 15, 2018 07:16
Clang-cl identifies both as clang and as MSVC.
This resulted in defining ASIO_HAS_STD_STRING_VIEW twice.
…ying.

This is reported as a warning by recent Clang.
chriskohlhoff and others added 28 commits March 3, 2019 19:40
This change adds a new set of type requirements for dynamic buffers,
DynamicBuffer_v2, which supports copy construction. These new type
requirements enable dynamic buffers to be used as arguments to
user-defined composed operations, where the same dynamic buffer object
is used repeatedly for multiple underlying operations. For example:

  template <typename DynamicBuffer>
  void echo_line(tcp::socket& sock, DynamicBuffer buf)
  {
    n = asio::read_until(sock, buf, '\n');
    asio::write(sock, buf, asio::transfer_exactly(n));
  }

The original DynamicBuffer type requirements have been renamed to
DynamicBuffer_v1.

New type traits is_dynamic_buffer_v1 and is_dynamic_buffer_v2 have been
added to test for conformance to DynamicBuffer_v1 and DynamicBuffer_v2
respectively. The existing is_dynamic_buffer trait has been retained and
delegates to is_dynamic_buffer_v1, unless ASIO_NO_DYNAMIC_BUFFER_V1 is
defined, in which case it delegates to is_dynamic_buffer_v2.

The dynamic_string_buffer and dynamic_vector buffer classes conform to
both DynamicBuffer_v1 and DynamicBuffer_v2 requirements.

When ASIO_NO_DYNAMIC_BUFFER_V1 is defined, all support for
DynamicBuffer_v1 types and functions is #ifdef-ed out. Support for using
basic_streambuf with the read, async_read, read_until, async_read_until,
write, and async_write functions is also disabled as a consequence.

This change should have no impact on existing source code that simply
uses dynamic buffers in conjunction with asio's composed operations,
such as:

  string data;
  // ...
  size_t n = asio::read_until(my_socket
      asio::dynamic_buffer(data, MY_MAX),
      '\n');
Users should define ASIO_ENABLE_BOOST to explicitly disable standalone
mode when compiling with C++11 or later.
Although MSVC 11.0 supports the decltype keyword, it does not operate
correctly when used in the buffer sequence detection traits. This change
fixes compile errors when trying to use the read and write composed
operations with MSVC 11.0.
The moved-from I/O object needs to be left in the same state as if
constructed with a valid executor but without a resource.
The coanan package is created with cmake and tested with ctest
100% tests passed, 0 tests failed out of 124

Total Test time (real) =  60.04 sec
@ClausKlein
Copy link
Author

ClausKlein commented Aug 18, 2019

I added a .clang-tidy file too. It can be used with cmake while compiling or as post compile check.
My last compile log is included, see build-with-clang-tidy.log

see too:
http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
https://www.kdab.com/clang-tidy-part-1-modernize-source-code-using-c11c14/
https://clang.llvm.org/extra/clang-tidy/index.html

@ClausKlein ClausKlein closed this Aug 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.