I have a class that is exported and it uses a header only structure as a member variable.

```
#include "SomeStruct.h"

class API_CLASS SomeClass
{
public:
// ...
private:
#pragma warning( push )
#pragma warning( disable: 4251 )
    SomeStruct _active;
#pragma warning( pop )
};

```

I get warning 4251 as the structure is not exported. The structure is part of an external code and not a part of current scope.

I would like to make this code a bit more readable as this is a header I will distribute.
Ideally, I want the class to read

```
#include "SomeStruct.h"

class API_CLASS SomeClass
{
public:
// ...
private:
DISABLE_WARNING_BEGIN(4251)
    SomeStruct _active;
DISABLE_WARNING_END
};

```

It may be more work to disable multiple warnings but if that can be done, then great but not necessary. The macro should result in code only for WIN32 environment. I have tried to write the macro but to include a '#' is beyond me.