summaryrefslogtreecommitdiffstats
path: root/Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Macro.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Macro.cpp')
-rw-r--r--Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Macro.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Macro.cpp b/Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Macro.cpp
new file mode 100644
index 0000000..fccca96
--- /dev/null
+++ b/Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/Macro.cpp
@@ -0,0 +1,45 @@
+//
+// Copyright (c) 2011 The ANGLE Project Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+
+#include "Macro.h"
+
+#include <algorithm>
+
+#include "stl_utils.h"
+
+namespace pp
+{
+
+Macro::Macro(Type type,
+ std::string* name,
+ TokenVector* parameters,
+ TokenVector* replacements)
+ : mType(type),
+ mName(name),
+ mParameters(parameters),
+ mReplacements(replacements)
+{
+}
+
+Macro::~Macro()
+{
+ delete mName;
+
+ if (mParameters)
+ {
+ std::for_each(mParameters->begin(), mParameters->end(), Delete());
+ delete mParameters;
+ }
+
+ if (mReplacements)
+ {
+ std::for_each(mReplacements->begin(), mReplacements->end(), Delete());
+ delete mReplacements;
+ }
+}
+
+} // namespace pp
+