Welcome

SweSTHLM1

StockholmCpp 0x34

 

sylog anounc

Today’s sponsor

 

Sylog

C++ news

 

Beside ISO

 

Video tip

The Beman Project: Bringing C++ Standard Libraries to the Next Level - David Sankel - CppCon 2024

beman qrcode

Actual Meetings

 

Feature freeze for C++26
  • WG21, 10-15 February Hagenberg, ๐Ÿ‡ฆ๐Ÿ‡น
    Trip reports are showing up

Upcoming
  • WG14, 24-28 February Graz, ๐Ÿ‡ฆ๐Ÿ‡น

TK611/AG09

 

Monthly regular and paper-club meetings merge

More openness, fix date for paper-club.

SwedenCpp News

 

SwedenCpp

StockholmCpp Planning 2025

 

  • 20th Mars

  • April/May

  • Mid June

All hosts confirmed

Call for Papers

Submit your ideas and suggestions

needyou

Tell us what you want to hear or want to do

Call for Participation

whowants

Call for Participation

Various tasks and roles are available

volunteers
Simple example

Like and share SwedenCpp content on social media

Quiz time

JetBrainsLicense

Quiz time

Some C interface, they still exist …​

int sqlite3_open(
  const char *filename,/* Database filename (UTF-8)*/
  sqlite3 **ppDb       /* OUT: SQLite db handle    */
);

int sqlite3_close(sqlite3*);

// -> create our unique_ptr

using sqlite_db =
  std::unique_ptr<sqlite3, decltype(&sqlite3_close)>;

Quiz time

What we do since C++11

// Deal with C interface
sqlite3* db_ptr = nullptr;
auto rc = sqlite3_open("test.db", &db_ptr);
if (rc != SQLITE_OK) {
    sqlite3_close(db_ptr);
    return 1;
}
// Use C++
sqlite_db db(db_ptr, &sqlite3_close);

Quiz time

What we want now

// Use C++ from the being
sqlite_db db(nullptr, &sqlite3_close);
auto rc = sqlite3_open("test.db", std::abcdefg(db));
if (rc != SQLITE_OK) {
    return 1;
}

What is: abcdefg?

Solution

std::out_ptr

// Use C++ from the being
sqlite_db db(nullptr, &sqlite3_close);
auto rc = sqlite3_open("test.db", std::out_ptr(db));
if (rc != SQLITE_OK) {
    return 1;
}

New in C++23

Today’s program

 

  • Simon: What’s in a binary?

  • ๐Ÿน ๐Ÿ• Mingle ๐Ÿ• ๐Ÿป

  • Olof: A tour of C++ in ML

Vรคl mรถtt!