// This file was GENERATED by command: // pump.py bind_internal_win.h.pump // DO NOT EDIT BY HAND!!! // Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Specializations of FunctionTraits<> for Windows specific calling // conventions. Please see base/bind_internal.h for more info. #ifndef BASE_BIND_INTERNAL_WIN_H_ #define BASE_BIND_INTERNAL_WIN_H_ #pragma once // In the x64 architecture in Windows, __fastcall, __stdcall, etc, are all // the same as __cdecl which would turn the following specializations into // multiple definitions. #if !defined(ARCH_CPU_X86_64) namespace base { namespace internal { template struct FunctionTraits; // __stdcall Function: Arity 0. template struct FunctionTraits { typedef R (*NormalizedSig)(); typedef false_type IsMethod; }; // __fastcall Function: Arity 0. template struct FunctionTraits { typedef R (*NormalizedSig)(); typedef false_type IsMethod; }; // __stdcall Function: Arity 1. template struct FunctionTraits { typedef R (*NormalizedSig)(X1); typedef false_type IsMethod; // Target type for each bound parameter. typedef X1 B1; }; // __fastcall Function: Arity 1. template struct FunctionTraits { typedef R (*NormalizedSig)(X1); typedef false_type IsMethod; // Target type for each bound parameter. typedef X1 B1; }; // __stdcall Function: Arity 2. template struct FunctionTraits { typedef R (*NormalizedSig)(X1, X2); typedef false_type IsMethod; // Target type for each bound parameter. typedef X1 B1; typedef X2 B2; }; // __fastcall Function: Arity 2. template struct FunctionTraits { typedef R (*NormalizedSig)(X1, X2); typedef false_type IsMethod; // Target type for each bound parameter. typedef X1 B1; typedef X2 B2; }; // __stdcall Function: Arity 3. template struct FunctionTraits { typedef R (*NormalizedSig)(X1, X2, X3); typedef false_type IsMethod; // Target type for each bound parameter. typedef X1 B1; typedef X2 B2; typedef X3 B3; }; // __fastcall Function: Arity 3. template struct FunctionTraits { typedef R (*NormalizedSig)(X1, X2, X3); typedef false_type IsMethod; // Target type for each bound parameter. typedef X1 B1; typedef X2 B2; typedef X3 B3; }; // __stdcall Function: Arity 4. template struct FunctionTraits { typedef R (*NormalizedSig)(X1, X2, X3, X4); typedef false_type IsMethod; // Target type for each bound parameter. typedef X1 B1; typedef X2 B2; typedef X3 B3; typedef X4 B4; }; // __fastcall Function: Arity 4. template struct FunctionTraits { typedef R (*NormalizedSig)(X1, X2, X3, X4); typedef false_type IsMethod; // Target type for each bound parameter. typedef X1 B1; typedef X2 B2; typedef X3 B3; typedef X4 B4; }; // __stdcall Function: Arity 5. template struct FunctionTraits { typedef R (*NormalizedSig)(X1, X2, X3, X4, X5); typedef false_type IsMethod; // Target type for each bound parameter. typedef X1 B1; typedef X2 B2; typedef X3 B3; typedef X4 B4; typedef X5 B5; }; // __fastcall Function: Arity 5. template struct FunctionTraits { typedef R (*NormalizedSig)(X1, X2, X3, X4, X5); typedef false_type IsMethod; // Target type for each bound parameter. typedef X1 B1; typedef X2 B2; typedef X3 B3; typedef X4 B4; typedef X5 B5; }; // __stdcall Function: Arity 6. template struct FunctionTraits { typedef R (*NormalizedSig)(X1, X2, X3, X4, X5, X6); typedef false_type IsMethod; // Target type for each bound parameter. typedef X1 B1; typedef X2 B2; typedef X3 B3; typedef X4 B4; typedef X5 B5; typedef X6 B6; }; // __fastcall Function: Arity 6. template struct FunctionTraits { typedef R (*NormalizedSig)(X1, X2, X3, X4, X5, X6); typedef false_type IsMethod; // Target type for each bound parameter. typedef X1 B1; typedef X2 B2; typedef X3 B3; typedef X4 B4; typedef X5 B5; typedef X6 B6; }; } // namespace internal } // namespace base #endif // !defined(ARCH_CPU_X86_64) #endif // BASE_BIND_INTERNAL_WIN_H_