I would like to point out that identifiers like "_CPP_TASK_CACHE_LINE_SIZE_" and "_CPP_TASK_THREADPOOL_H_" do eventually not fit to the expected naming convention of the C++ language standard.
Would you like to adjust your selection for unique names?