C / C ++ inclui ordem do arquivo de cabeçalho

Que ordem deve incluir os arquivos a serem especificados, ou seja, quais são os motivos para incluir um cabeçalho antes do outro?

Por exemplo, os arquivos do sistema, STL e Boost vão antes ou depois do local incluir arquivos?