1dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// This file was GENERATED by command:
2dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen//     pump.py bind_internal_win.h.pump
3dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// DO NOT EDIT BY HAND!!!
4dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
5dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
6ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
7dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
8dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Use of this source code is governed by a BSD-style license that can be
9dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// found in the LICENSE file.
10dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
11dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Specializations of FunctionTraits<> for Windows specific calling
12dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// conventions.  Please see base/bind_internal.h for more info.
13dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
14dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#ifndef BASE_BIND_INTERNAL_WIN_H_
15dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#define BASE_BIND_INTERNAL_WIN_H_
16dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#pragma once
17dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
18dc0f95d653279beabeb9817299e2902918ba123eKristian Monsennamespace base {
19dc0f95d653279beabeb9817299e2902918ba123eKristian Monsennamespace internal {
20dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
21dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename Sig>
22dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits;
23dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
24dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __stdcall Function: Arity 0.
25dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R>
26dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__stdcall *)()> {
27dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)();
28dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
29dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
30dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
31dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __fastcall Function: Arity 0.
32dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R>
33dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__fastcall *)()> {
34dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)();
35dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
36dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
37dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
38dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __stdcall Function: Arity 1.
39dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R, typename X1>
40dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__stdcall *)(X1)> {
41dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)(X1);
42dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
43ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Target type for each bound parameter.
44ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X1 B1;
45dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
46dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
47dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __fastcall Function: Arity 1.
48dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R, typename X1>
49dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__fastcall *)(X1)> {
50dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)(X1);
51dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
52ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Target type for each bound parameter.
53ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X1 B1;
54dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
55dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
56dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __stdcall Function: Arity 2.
57dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R, typename X1, typename X2>
58dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__stdcall *)(X1, X2)> {
59dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)(X1, X2);
60dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
61ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Target type for each bound parameter.
62ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X1 B1;
63ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X2 B2;
64dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
65dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
66dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __fastcall Function: Arity 2.
67dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R, typename X1, typename X2>
68dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__fastcall *)(X1, X2)> {
69dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)(X1, X2);
70dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
71ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Target type for each bound parameter.
72ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X1 B1;
73ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X2 B2;
74dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
75dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
76dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __stdcall Function: Arity 3.
77dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R, typename X1, typename X2, typename X3>
78dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__stdcall *)(X1, X2, X3)> {
79dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)(X1, X2, X3);
80dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
81ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Target type for each bound parameter.
82ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X1 B1;
83ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X2 B2;
84ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X3 B3;
85dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
86dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
87dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __fastcall Function: Arity 3.
88dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R, typename X1, typename X2, typename X3>
89dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__fastcall *)(X1, X2, X3)> {
90dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)(X1, X2, X3);
91dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
92ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Target type for each bound parameter.
93ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X1 B1;
94ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X2 B2;
95ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X3 B3;
96dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
97dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
98dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __stdcall Function: Arity 4.
99dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R, typename X1, typename X2, typename X3, typename X4>
100dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__stdcall *)(X1, X2, X3, X4)> {
101dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)(X1, X2, X3, X4);
102dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
103ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Target type for each bound parameter.
104ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X1 B1;
105ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X2 B2;
106ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X3 B3;
107ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X4 B4;
108dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
109dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
110dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __fastcall Function: Arity 4.
111dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R, typename X1, typename X2, typename X3, typename X4>
112dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__fastcall *)(X1, X2, X3, X4)> {
113dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)(X1, X2, X3, X4);
114dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
115ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Target type for each bound parameter.
116ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X1 B1;
117ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X2 B2;
118ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X3 B3;
119ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X4 B4;
120dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
121dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
122dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __stdcall Function: Arity 5.
123dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R, typename X1, typename X2, typename X3, typename X4,
124dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    typename X5>
125dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__stdcall *)(X1, X2, X3, X4, X5)> {
126dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)(X1, X2, X3, X4, X5);
127dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
128ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Target type for each bound parameter.
129ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X1 B1;
130ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X2 B2;
131ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X3 B3;
132ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X4 B4;
133ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X5 B5;
134dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
135dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
136dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __fastcall Function: Arity 5.
137dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R, typename X1, typename X2, typename X3, typename X4,
138dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    typename X5>
139dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__fastcall *)(X1, X2, X3, X4, X5)> {
140dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)(X1, X2, X3, X4, X5);
141dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
142ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Target type for each bound parameter.
143ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X1 B1;
144ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X2 B2;
145ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X3 B3;
146ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X4 B4;
147ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X5 B5;
148dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
149dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
150dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __stdcall Function: Arity 6.
151dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R, typename X1, typename X2, typename X3, typename X4,
152dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    typename X5, typename X6>
153dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__stdcall *)(X1, X2, X3, X4, X5, X6)> {
154dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)(X1, X2, X3, X4, X5, X6);
155dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
156ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Target type for each bound parameter.
157ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X1 B1;
158ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X2 B2;
159ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X3 B3;
160ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X4 B4;
161ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X5 B5;
162ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X6 B6;
163dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
164dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
165dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// __fastcall Function: Arity 6.
166dc0f95d653279beabeb9817299e2902918ba123eKristian Monsentemplate <typename R, typename X1, typename X2, typename X3, typename X4,
167dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen    typename X5, typename X6>
168dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenstruct FunctionTraits<R(__fastcall *)(X1, X2, X3, X4, X5, X6)> {
169dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef R (*NormalizedSig)(X1, X2, X3, X4, X5, X6);
170dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  typedef false_type IsMethod;
171ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Target type for each bound parameter.
172ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X1 B1;
173ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X2 B2;
174ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X3 B3;
175ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X4 B4;
176ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X5 B5;
177ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  typedef X6 B6;
178dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
179dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
180dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}  // namespace internal
181dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}  // namespace base
182dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
183dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#endif  // BASE_BIND_INTERNAL_WIN_H_
184