#!/bin/python3

headers_dir = 'include/ss/'
headers = ['type_traits.hpp',
           'exception.hpp',
           'function_traits.hpp',
           'restrictions.hpp',
           'common.hpp',
           'setup.hpp',
           'splitter.hpp',
           'extract.hpp',
           'converter.hpp',
           'parser.hpp']

combined_file = []
includes = []

for header in headers:
    with open(headers_dir + header) as f:
        for line in f.read().splitlines():
            if '#include "' in line or '#include <fast_float' in line:
                continue

            if '#include <' in line:
                includes.append(line)
                continue

            if '#pragma once' not in line:
                combined_file.append(line)

includes = sorted(set(includes))

print('\n'.join(includes))
print('#define SSP_DISABLE_FAST_FLOAT')
print('\n'.join(combined_file))