or.hh File Reference

Go to the source code of this file.

Namespaces

namespace  lestes
namespace  lestes::lang
namespace  lestes::lang::cplus
namespace  lestes::lang::cplus::sem

Defines

#define ADD_VQ_REF_VQ_REF(op, type1)   the_instance->add_vq_ref_vq_ref<op, type1>();
#define ADD_NONREF_VQ_REF_INT(op, type1)   the_instance->add_nonref_vq_ref_int<op, type1>();
#define ADD_VQ_PTR_REF_VQ_PTR_REF(op, type1)   the_instance->add_vq_ptr_ref_vq_ptr_ref<op, type1>();
#define ADD_VQ_PTR_NONREF_VQ_PTR_REF_INT(op, type1)   the_instance->add_vq_ptr_nonref_vq_ptr_ref_int<op, type1>();
#define ADD_REF_PTR(op, type1)   the_instance->add_ref_ptr<op, type1>();
#define ADD_REF_PTR_CONST(op, type1)   the_instance->add_ref_ptr_const<op, type1>();
#define ADD_PTR_PTR(op)   the_instance->add_ptr_ptr<op>();
#define ADD_NONREF_NONREF(op, type1, type2)   the_instance->add_nonref_nonref<op, type1, type2>();
#define ADD_NONREF_NONREF_NONREF(op, type1, type2, type3)   the_instance->add_nonref_nonref_nonref<op, type1, type2, type3>();
#define ADD_VQ_REF_VQ_REF_NONREF(op, type1, type2)   the_instance->add_vq_ref_vq_ref_nonref<op, type1, type2>();
#define ADD_VQ_REF_VQ_REF_NONREF_REF(op, type1, type2)   the_instance->add_vq_ref_vq_ref_nonref_REF<op, type1, type2>();
#define ADD_NONREF_NONREF_NONREF_NONREF(op, type1, type2, type3, type4)   the_instance->add_nonref_nonref_nonref_nonref<op, type1, type2, type3, type4>();
#define ADD_PTR_PTR_INT(op, type1)   the_instance->add_ptr_ptr_int<op, type1>();
#define ADD_PTR_INT_PTR(op, type1)   the_instance->add_ptr_int_ptr<op, type1>();
#define ADD_INT_PTR_PTR(op, type1)   the_instance->add_int_ptr_ptr<op, type1>();
#define ADD_BOOL_PTR_PTR(op, type1)   the_instance->add_bool_ptr_ptr<op, type1>();
#define ADD_VQ_PTR_REF_VQ_PTR_REF_PTR(op, type1)   the_instance->add_vq_ptr_ref_vq_ptr_ref_ptr<op, type1>();
#define ADD_VQ_PTR_REF_VQ_PTR_REF_INT(op, type1)   the_instance->add_vq_ptr_ref_vq_ptr_ref_int<op, type1>();
#define BUILTIN_DECL_SEQ_INIT()

Typedefs

typedef ::lestes::std::list<
srp< or_or_functional > > 
lestes::lang::cplus::sem::exprlist
typedef ::lestes::std::set<
srp< ss_function_declaration > > 
lestes::lang::cplus::sem::func_decl_set

Functions

ptr< or_or_functional > lestes::lang::cplus::sem::overload_resolution (ptr< exprlist > exprs, ptr< ss_operator> func_name)
ptr< or_or_functional > lestes::lang::cplus::sem::overload_resolution (ptr< exprlist > exprs, ptr< func_decl_set > candidates)


Detailed Description

Header file for purposes of overload resolution
Author:
jikos

Definition in file or.hh.


Define Documentation

#define ADD_BOOL_PTR_PTR ( op,
type1   )     the_instance->add_bool_ptr_ptr<op, type1>();

Return type is ptrdiff_t , 1st arg and 2nd arg is pointer to type1

Definition at line 342 of file or.hh.

#define ADD_INT_PTR_PTR ( op,
type1   )     the_instance->add_int_ptr_ptr<op, type1>();

Return type is ptrdiff_t , 1st arg and 2nd arg is pointer to type1

Definition at line 339 of file or.hh.

#define ADD_NONREF_NONREF ( op,
type1,
type2   )     the_instance->add_nonref_nonref<op, type1, type2>();

Return type is type1, argument is type2

Definition at line 318 of file or.hh.

#define ADD_NONREF_NONREF_NONREF ( op,
type1,
type2,
type3   )     the_instance->add_nonref_nonref_nonref<op, type1, type2, type3>();

Return type is non-ref and is conversion from , 1st and 2nd arguments are also non-ref

Definition at line 322 of file or.hh.

#define ADD_NONREF_NONREF_NONREF_NONREF ( op,
type1,
type2,
type3,
type4   )     the_instance->add_nonref_nonref_nonref_nonref<op, type1, type2, type3, type4>();

Return type is non-ref, 1st and 2nd arguments are also non-ref

Definition at line 330 of file or.hh.

#define ADD_NONREF_VQ_REF_INT ( op,
type1   )     the_instance->add_nonref_vq_ref_int<op, type1>();

Return type is type1, 1st argument type is type1&, 2nd argument is int

Definition at line 296 of file or.hh.

#define ADD_PTR_INT_PTR ( op,
type1   )     the_instance->add_ptr_int_ptr<op, type1>();

Return type is ptr to type1, 1st arg is int, 2nd arg is pointer to type1

Definition at line 336 of file or.hh.

#define ADD_PTR_PTR ( op   )     the_instance->add_ptr_ptr<op>();

Return type is pointer, parameter type is pointer. FIXME - void used so far

Definition at line 315 of file or.hh.

#define ADD_PTR_PTR_INT ( op,
type1   )     the_instance->add_ptr_ptr_int<op, type1>();

Return type is pointer to type1, 1st arg is pointer, 2nd arg is int

Definition at line 333 of file or.hh.

#define ADD_REF_PTR ( op,
type1   )     the_instance->add_ref_ptr<op, type1>();

Return type is reference, parameter type is pointer. FIXME - void used so far

Definition at line 309 of file or.hh.

#define ADD_REF_PTR_CONST ( op,
type1   )     the_instance->add_ref_ptr_const<op, type1>();

Return type is reference, parameter type is pointer to const . FIXME - void used so far

Definition at line 312 of file or.hh.

#define ADD_VQ_PTR_NONREF_VQ_PTR_REF_INT ( op,
type1   )     the_instance->add_vq_ptr_nonref_vq_ptr_ref_int<op, type1>();

Return type is pointer, 1st argument is pointer, 2nd argument is int. This is FIXME, shoudl be split for pointer to object and pointer to arithmetic void is used so far, until something better is written. This is quite a important FIXME for one day.

Definition at line 306 of file or.hh.

#define ADD_VQ_PTR_REF_VQ_PTR_REF ( op,
type1   )     the_instance->add_vq_ptr_ref_vq_ptr_ref<op, type1>();

Return type is pointer, 1st argument is pointer. This is FIXME, shoudl be split for pointer to object and pointer to arithmetic void is used so far, until something better is written. This is quite a important FIXME for one day.

Definition at line 301 of file or.hh.

#define ADD_VQ_PTR_REF_VQ_PTR_REF_INT ( op,
type1   )     the_instance->add_vq_ptr_ref_vq_ptr_ref_int<op, type1>();

Return type is pseudoref for ptr to type1, 1st argument is same as return type, 2nd argument is int

Definition at line 348 of file or.hh.

#define ADD_VQ_PTR_REF_VQ_PTR_REF_PTR ( op,
type1   )     the_instance->add_vq_ptr_ref_vq_ptr_ref_ptr<op, type1>();

Rerturn type is pseudoreference for pointer to type1, 1st arg same as return type, 2nd argument is pointer to type1

Definition at line 345 of file or.hh.

#define ADD_VQ_REF_VQ_REF ( op,
type1   )     the_instance->add_vq_ref_vq_ref<op, type1>();

Return type is type1&, 1st argument type is type1& (both the same types)

Definition at line 293 of file or.hh.

#define ADD_VQ_REF_VQ_REF_NONREF ( op,
type1,
type2   )     the_instance->add_vq_ref_vq_ref_nonref<op, type1, type2>();

Return type is ref, 1st argument is ref and 2nd arguments is non-ref and ret and 1st are the same

Definition at line 325 of file or.hh.

#define ADD_VQ_REF_VQ_REF_NONREF_REF ( op,
type1,
type2   )     the_instance->add_vq_ref_vq_ref_nonref_REF<op, type1, type2>();

Definition at line 326 of file or.hh.

 
#define BUILTIN_DECL_SEQ_INIT (  ) 

Definition at line 352 of file or.hh.

Referenced by lestes::lang::cplus::sem::or_builtin_operator_declaration_creator::instance().


Generated on Mon Feb 12 18:23:46 2007 for lestes by doxygen 1.5.1-20070107