<commit_before>Astron C++ Style Guide
----------------------

Pull requests will not be merged until styling issues have been fixed.  
Pull requests with bad style are less likely to be accepted.


## Formatting

### Line Length
Each line of text should be at most 100 characters long.

### Indentation
Use only spaces, not tabs.  Indent with 4 spaces at a time.  
The contents of namespaces are not indented.  

Class/struct access specifiers should be indented 2 spaces.

    class Foo
    {
      public:
        Foo();
    };

Case statements should be at the same indentation as their switch, with indented logic.

    switch(day) {
    case Monday:
        return 1;
    case Tuesday:
        return 2;
    default:
        return 0;
    }

### Braces
Braces for control statements should be attached.  
Class and function braces should be on their own line (unless its for an empty block).  
Conditionals should always use braces.  

### Whitespace
There should be no space between a conditional and its condition (`if(foo)`).  
There should be a space between a control statement and its brace (`switch(val) {`).  
There should be no space between template specifiers and their template arguments.  
Nested template specifiers should have spaces between right angle-brackets.  
Prefer no spaces inside parentheses (`while(true)` vs `while( true )`).  

### Newlines
Source files should end with a newline.  <commit_msg>Style: Conform more to kernel normal form for braces.<commit_after>Astron C++ Style Guide
----------------------

Pull requests will not be merged until styling issues have been fixed.  
Pull requests with bad style are less likely to be accepted.


## Formatting

### Line Length
Each line of text should be at most 100 characters long.

### Indentation
Use only spaces, not tabs.  Indent with 4 spaces at a time.  
The contents of namespaces are not indented.  

Class/struct access specifiers should be indented 2 spaces.

    class Foo
    {
      public:
        Foo();
    };

Case statements should be at the same indentation as their switch, with indented logic.

    switch(day) {
    case Monday:
        return 1;
    case Tuesday:
        return 2;
    default:
        return 0;
    }

### Braces
Braces for control statements should be attached.  
Class and function braces should be on their own line (unless its for an empty block).  
Control statements should use consistent braces (ie. if the `if` uses braces so should the `else`.)

### Whitespace
There should be no space between a conditional and its condition (`if(foo)`).  
There should be a space between a control statement and its brace (`switch(val) {`).  
There should be no space between template specifiers and their template arguments.  
Nested template specifiers should have spaces between right angle-brackets.  
Prefer no spaces inside parentheses (`while(true)` vs `while( true )`).  

### Newlines
Source files should end with a newline.  
{'fraction_non_alphanumeric': 0.07551642397561802, 'fraction_numerical': 0.005418218760582459, 'mean_word_length': 3.0801104972375692, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '747633', 'n_tokens_mistral': 806, 'n_tokens_neox': 755, 'n_words': 403}