8 SWIG and C++17

8.1 Introduction

This chapter gives you a brief overview about the SWIG implementation of the C++17 standard. There isn't much in C++17 that affects SWIG, however, work has only just begun on adding C++17 support.

8.2 Core language changes

8.2.1 Nested namespace definitions

C++17 offers a more concise syntax for defining namespaces. SWIG has support for nested namespace definitions such as:

namespace A::B::C {
  ...
}

This is the equivalent to the C++98 namespace definitions:

namespace A {
  namespace B {
    namespace C {
      ...
    }
  }
}

Compatibility note: SWIG-4.0.0 was the first version to support nested namespace definitions.

8.3 Standard library changes