1
C/C++ LANGUAGE SERVERS THE NEXT GENERATION IS NOW
EclipseCon 2018
C/C++ LANGUAGE SERVERS THE NEXT GENERATION IS NOW EclipseCon 2018 - - PowerPoint PPT Presentation
C/C++ LANGUAGE SERVERS THE NEXT GENERATION IS NOW EclipseCon 2018 1 AGENDA Why C++ Modern C++ CDTs language services Clangd and the clang based language servers LSP for CDT Going forward EclipseCon 2018 2
1
EclipseCon 2018
2
EclipseCon 2018
3
EclipseCon 2018
4
EclipseCon 2018
5
EclipseCon 2018
6
EclipseCon 2018
7
EclipseCon 2018
8
EclipseCon 2018
9
EclipseCon 2018
10
EclipseCon 2018
11
EclipseCon 2018
void send(unique_ptr<X> x, cstring_span destination) // x owns the X { Port port{destination}; // port owns the PortHandle lock_guard<mutex> guard{my_mutex}; // guard owns the lock // ... send(port, x); // ... } // automatically unlocks my_mutex and deletes the pointer in x
12
EclipseCon 2018
class Port { PortHandle port; public: Port(cstring_span destination) : port{open_port(destination)} { } ~Port() { close_port(port); }
// port handles can't usually be cloned // so disable copying and assignment if necessary Port(const Port&) = delete; Port& operator=(const Port&) = delete; };
13
EclipseCon 2018
14
EclipseCon 2018
15
EclipseCon 2018
16
EclipseCon 2018
17
EclipseCon 2018
18
EclipseCon 2018
19
EclipseCon 2018
20
EclipseCon 2018
21
EclipseCon 2018
22
EclipseCon 2018
23
EclipseCon 2018
24
EclipseCon 2018
25
EclipseCon 2018
26
EclipseCon 2018
27
EclipseCon 2018
28
EclipseCon 2018
29
EclipseCon 2018
30
EclipseCon 2018
31
EclipseCon 2018
32
EclipseCon 2018