Skip to content

Support for string_view #611

Open
Open
@Falgu9

Description

@Falgu9

Version of cppzmq : 4.10.0
Compiler version : 9.4.0
C++ version : 17
I mainly use std::string_view to handle string into my functions and I would like to be able to use them without conversion.
Before :

std::string_view url = "url";
socket.connect(url.data());

After :

std::string_view url = "url";
socket.connect(url);

Here the error :

src/network/SubNetwork.cpp:11:24: error: no matching function for call to ‘zmq::socket_t::connect(std::string_view&)’
     socket_.connect(url);
                        ^
In file included from src/network/Network.h:5,
                 from src/network/SubNetwork.h:4,
                 from src/network/SubNetwork.cpp:1:
./cppzmq/zmq.hpp:1894:10: note: candidate: ‘void zmq::detail::socket_base::connect(const string&)’
     void connect(std::string const &addr) { connect(addr.c_str()); }
          ^~~~~~~
./cppzmq/zmq.hpp:1894:10: note:   no known conversion for argument 1 from ‘std::string_view’ {aka ‘std::basic_string_view<char>’} to ‘const string&’ {aka ‘const std::__cxx11::basic_string<char>&’}
./cppzmq/zmq.hpp:1896:10: note: candidate: ‘void zmq::detail::socket_base::connect(const char*)’
     void connect(const char *addr_)
          ^~~~~~~
./cppzmq/zmq.hpp:1896:10: note:   no known conversion for argument 1 from ‘std::string_view’ {aka ‘std::basic_string_view<char>’} to ‘const char*’

This is also a problem for bind or zmq::str_buffer.
I would like to try to get it done if possible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions