Force inclusion of a header in project
<p>I have a header with a particular set of rules that the user must follow. If the user does not want to follow the rules, they must define a preprocessor macro which will disable the checks. If the user is using the library, the user must include the header in every one of their classes that uses any code from the library or explicitly state otherwise by the above mentioned preprocessor (in this case, the header may be included implicitly [using one of the library's classes] which is fine):</p>

<pre><code>// User using my library, they must include the BaseHeader.h or otherwise use the following define
// #define NOT_USING_BASE_HEADER //(can of course be defined project wide)
#include &lt;BaseHeader.h&gt;
// ... other includes (not necessarily from my library)
class Foo
{
  //...
};
</code></pre>

<p>Is there a way to accomplish this? Keep in mind that the base header is also being included </p>
