5 * ---------------------------------------------------------------------------
7 * Implementation of a minimal C++ class framework for use with the
8 * Microsoft Windows Application Programming Interface.
12 * This header file provides a set of utility macro definitions, which
13 * may be required by other more user visible header files.
15 * Written by Keith Marshall <keithmarshall@users.sourceforge.net>
16 * Copyright (C) 2013, MinGW.org Project.
18 * ---------------------------------------------------------------------------
20 * Permission is hereby granted, free of charge, to any person obtaining a
21 * copy of this software and associated documentation files (the "Software"),
22 * to deal in the Software without restriction, including without limitation
23 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
24 * and/or sell copies of the Software, and to permit persons to whom the
25 * Software is furnished to do so, subject to the following conditions:
27 * The above copyright notice, this permission notice, and the following
28 * disclaimer shall be included in all copies or substantial portions of
31 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
32 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
34 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
36 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
37 * DEALINGS IN THE SOFTWARE.
39 * ---------------------------------------------------------------------------
44 /* Some functions expose an extern "C" interface, (some may even be written
45 * in C), but within C++ clients we subsume them into the WTK namespace; we
46 * provide a set of macros to facilitate this...
50 * ...for the (normal) C++ case...
52 # define EXTERN_C extern "C"
53 # define BEGIN_NAMESPACE(NAME) namespace NAME {
54 # define END_NAMESPACE(NAME) }
57 /* ...while also providing an interface which exposes them globally,
58 * so that they may also be called from C code.
60 # define EXTERN_C extern
61 # define BEGIN_NAMESPACE(NAME)
62 # define END_NAMESPACE(NAME)
65 #endif /* WTKDEFS_H: $RCSfile$: end of file */