[/ 
  (C) Copyright Edward Diener 2011-2015
  Distributed under the Boost Software License, Version 1.0.
  (See accompanying file LICENSE_1_0.txt or copy at
  http://www.boost.org/LICENSE_1_0.txt).
]

[section:vmd_internal_macros Controlling internal usage]

VMD has a few object-like macros which the end-user of the library can use 
to determine or change the way variadic macros are used in the library.

The macro BOOST_PP_VARIADICS is part of the Boost PP library, not part of VMD. 
It is used to denote whether variadic data support exists for the particular compiler 
the end-user is using. VMD also uses this macro to determine whether variadic
data support exists. An end-user of VMD can use this macro in his own design
to determine whether or not variadic macros are supported. Furthermore
an end-user of VMD can set this macro to 0 or non-zero, before including 
a VMD header file, to force VMD to treat the particular compiler being 
used as not supporting or supporting variadic macros. If a compiler does
not support variadic macro none of the macros in VMD are defined.

The macro BOOST_VMD_ASSERT_DATA controls whether or not an assert macro
will check its data. The default is that in compiler debug mode it will check the 
data while in compiler release mode it will not check its data. The end-user can
change this by setting the macro to 0 to not check the data, or non-zero to check
the data, before including a VMD header file, or check the value if necessary after
including a VMD header file.

[endsect]
