object_methods.h File Reference

#include "calling_convention.h"
#include "global_function.h"
#include <boost/utility/enable_if.hpp>
Include dependency graph for object_methods.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ObjectMethod< T, Fn, D >
struct  ObjectMethod< T, Fn, typename boost::enable_if< boost::integral_constant< bool,(CallingConvention< Fn >::value==asCALL_THISCALL) > >::type >
struct  IsValidClassArgType< ClassType, T >
struct  IsValidClassArgType< ClassType, T * >
struct  IsValidClassArgType< ClassType, const T * >
struct  IsValidClassArgType< ClassType, T & >
struct  IsValidClassArgType< ClassType, const T & >
struct  IsValidClassArgType< ClassType, ObjectProxy< T > * >
struct  IsValidClassArgType< ClassType, const ObjectProxy< T > * >
struct  IsValidClassArgType< ClassType, ObjectProxy< T > & >
struct  IsValidClassArgType< ClassType, const ObjectProxy< T > & >
struct  ObjectMethod< T, Fn, typename boost::enable_if< boost::integral_constant< bool,(CallingConvention< Fn >::value==asCALL_CDECL) > >::type >
struct  ObjectMethod< T, Fn, typename boost::enable_if< boost::integral_constant< bool,(CallingConvention< Fn >::value==asCALL_STDCALL) > >::type >

Defines

#define REGISTER_OBJECT_METHOD(type, name, fn)
#define REGISTER_OBJECT_BEHAVIOUR(type, behaviour, fn)

Functions

void AS_StdcallFunctionsCannotBeObjectMethods (Undefined &)
template<typename T , typename Fn >
std::string do_object_method_signature (Fn, const std::string &name, ObjectMethod< T, Fn > om)
template<typename T , typename Fn >
std::string object_method_signature (Fn fn, const std::string &name)
template<typename T , typename Fn >
asSFuncPtr convert_object_method (Fn fn)
template<typename T , typename Fn >
asDWORD object_method_calling_conv (Fn)

Define Documentation

#define REGISTER_OBJECT_BEHAVIOUR ( type,
behaviour,
fn   ) 
Value:
RegisterObjectBehaviour( ASTraits<type>::get_name().c_str(),               \
                           behaviour,                                        \
                           object_method_signature<type>(fn, "f").c_str(),   \
                           convert_object_method<type>(fn),                  \
                           object_method_calling_conv<type>(fn) )

Definition at line 144 of file object_methods.h.

#define REGISTER_OBJECT_METHOD ( type,
name,
fn   ) 
Value:
RegisterObjectMethod( ASTraits<type>::get_name().c_str(),                \
                        object_method_signature<type>(fn, name).c_str(),   \
                        convert_object_method<type>(fn),                   \
                        object_method_calling_conv<type>(fn) )

Definition at line 138 of file object_methods.h.


Function Documentation

void AS_StdcallFunctionsCannotBeObjectMethods ( Undefined &   ) 
template<typename T , typename Fn >
asSFuncPtr convert_object_method ( Fn  fn  )  [inline]

Definition at line 128 of file object_methods.h.

References ObjectMethod< T, Fn, D >::convert().

template<typename T , typename Fn >
std::string do_object_method_signature ( Fn  ,
const std::string &  name,
ObjectMethod< T, Fn >  om 
) [inline]
template<typename T , typename Fn >
asDWORD object_method_calling_conv ( Fn   )  [inline]

Definition at line 133 of file object_methods.h.

template<typename T , typename Fn >
std::string object_method_signature ( Fn  fn,
const std::string &  name 
) [inline]

Generated on Mon Jan 11 12:04:36 2010 for Werewolf by  doxygen 1.6.1