# Title

[ Module : swig, Package : swig ]
This is a title comment

# Contents

- 1. Section 1
  - 1.1. Section 1.1
  - 1.2. Section 1.2
    - 1.2.1. Section 1.2.1
  - 1.3. Section 1.3
    - 1.3.1. Section 1.3.1
- 2. Section 2
- 3. Section 3
  - 3.1. class AClass

`foo(int );`

> [ returns int ]
> This is a comment after a function

`bar(int );`

> [ returns int ]
> This is a multiline comment appearing after a function

## 1. Section 1

This is a comment after section 1

### 1.1. Section 1.1

This is a comment after subsection 1.1

### 1.2. Section 1.2

This is a comment after subsection 1.2

#### 1.2.1. Section 1.2.1

This is a comment after subsubsection 1.2.1

### 1.3. Section 1.3

This is a comment after subsection 1.3

#### 1.3.1. Section 1.3.1

This is a comment after subsubsection 1.3.1

## 2. Section 2

This is a comment after section 2

This is a some random text thrown in to the file.

`grok(int );`

> [ returns int ]
> This is a comment for grok

## 3. Section 3

This is a comment for section 3

`$ENUM1 = ENUM1`

> [ Constant: int ]
> Comment for ENUM1

`$ENUM2 = ENUM2`

> [ Constant: int ]
> Comment for ENUM2

`$ENUM3 = ENUM3`

> [ Constant: int ]
> Comment for ENUM3

`$ENUM4 = ENUM4`

> [ Constant: int ]
> Comment for ENUM4

`$a`

> [ Global : int a ]
> This is a comment for 'a'

`$b`

> [ Global : int b ]
> This is a comment for 'b'

`$c`

> [ Global : int c ]
> This is a comment for 'c'

`$d`

> [ Global : int d ]
> This is a comment for 'd'

### 3.1. class AClass

[ created from class AClass ]
This comment should be attached to the class definition

`AClass_foo(self);`

> [ Member : returns int ]
> This is a comment for the foo member function

`AClass_a_set(self,a); AClass_a_get(self);`

> [ Member data: returns int ]
> This is a comment for the a data member

`decl(a,b,c,d,e,f);`

> [ returns double ]
> This is comment following a multiline declaration