# 8 SWIG and C++17

- Introduction
- Core language changes
  - Nested namespace definitions
- Standard library changes

## 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