Header Include GuideΒΆ
In .cc
files, put:
The corresponding header
A block of system includes
A block of includes from non-system packages (3rd party, viwls-graph, Eigen, etc)
A block of includes from this package
Separate the blocks by vspace, and alphabetize within each block. For example, for a file foo.cc
in my-package
:
#include "my-package/foo.h"
#include <memory>
#include <pthread.h>
#include <string>
#include <Eigen/Core>
#include <epipolar-matching/matcher.h>
#include <glog/logging.h>
#include <vi-map/map.h>
#include "my-package/bar.h"
#include "my-package/baz.h"
Header file includes should follow the same structure.