CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
FMSTLHelper.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2022 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24#ifndef __FMSTLHELPER_H__
25#define __FMSTLHELPER_H__
26
27
28// Vector section.
29
30#ifdef _MSC_VER
31
32#include <yvals.h> // warning numbers get enabled in yvals.h; we must include it
33 // before disabling any warnings, because if we do not include
34 // it here, it will be included from within STL files and the
35 // warnings will be reset back to default states.
36
37#pragma warning( push )
38#pragma warning(disable: 4018) // signed/unsigned mismatch
39#pragma warning(disable: 4100) // unreferenced formal parameter
40#pragma warning(disable: 4245) // conversion from 'type1' to 'type2',
41 // signed/unsigned mismatch
42#pragma warning(disable: 4663) // C++ language change: to explicitly specialize
43 // class template 'vector'
44#pragma warning(disable: 4702) // unreachable code
45#pragma warning(disable: 4710) // 'function' : function not inlined
46#pragma warning(disable: 4786) // identifier was truncated to 'number' characters
47 // in the debug information
48
49#endif // _MSC_VER
50
51#include <vector>
52
53
54// Map section.
55
56#ifdef _MSC_VER
57#pragma warning(disable: 4018) // signed/unsigned mismatch
58#pragma warning(disable: 4100) // unreferenced formal parameter
59#pragma warning(disable: 4245) // conversion from 'type1' to 'type2',
60 // signed/unsigned mismatch
61#pragma warning(disable: 4284) // iterator::operator-> not a UDT or reference to UDT.
62#pragma warning(disable: 4512) // 'class' : assignment operator could not be generated
63#pragma warning(disable: 4663) // C++ language change: to explicitly specialize
64 // class template 'vector'
65#pragma warning(disable: 4710) // 'function' : function not inlined
66#pragma warning(disable: 4786) // identifier was truncated to 'number' characters in
67 // the debug information
68
69// BUG: C4786 Warning Is Not Disabled with #pragma Warning
70// STATUS: Microsoft has confirmed this to be a bug in the Microsoft product.
71// This warning can be ignored. This occured only in the <map> container.
72
73#endif // _MSC_VER
74
75#include <map>
76
77
78// List section.
79
80#ifdef _MSC_VER
81
82#pragma warning(disable: 4100) // unreferenced formal parameter
83#pragma warning(disable: 4284) // return type for 'identifier::operator ->'
84 // is not a UDT or reference
85 // to a UDT. Will produce errors if applied using
86 // infix notation
87#pragma warning(disable: 4710) // 'function' : function not inlined
88#pragma warning(disable: 4786) // identifier was truncated to 'number' characters
89 // in the debug information
90#endif // _MSC_VER
91
92#include <list>
93
94// Stack section.
95
96#ifdef _MSC_VER
97
98#pragma warning(disable: 4018) // signed/unsigned mismatch
99#pragma warning(disable: 4100) // unreferenced formal parameter
100#pragma warning(disable: 4245) // conversion from 'type1' to 'type2',
101 // signed/unsigned mismatch
102#pragma warning(disable: 4710) // 'function' : function not inlined
103#pragma warning(disable: 4786) // identifier was truncated to 'number'
104 // characters in the debug information
105#pragma warning(disable: 4146) // unary minus operator applied to unsigned type ( <deque> )
106#endif // _MSC_VER
107
108#include <stack>
109
110
111// Algorithm section.
112
113#include <algorithm>
114
115// Functional section.
116
117#include <functional>
118
119// Set section.
120
121#include <set>
122
123
124#ifdef _MSC_VER
125
126#pragma warning( pop )
127
128#if _MSC_VER <= 1300
129#pragma warning(disable: 4097) // typedef-name ... used as synonym for class-name
130#endif
131
132#endif // _MSC_VER
133
134#endif //__FMSTLHELPER_H__