class os_member_function : public os_memberThis class is part of the ObjectStore metaobject protocol, which provides access to ObjectStore schemas. Instances of this class represent member functions. os_member_function is derived from os_member.
The types os_int32 and os_boolean, used throughout this manual, are each defined as a signed 32-bit integer type. The type os_unsigned_int32 is defined as an unsigned 32-bit integer type.
Programs using this class must include <ostore/ostore.hh>, followed by <ostore/coll.hh> (if used), followed by <ostore/mop.hh>.
static os_member_function& create( const char* name, os_function_type* );Creates a member function with the specified name and of the specified type.
os_call_linkage get_call_linkage() const;Returns os_member_function::No_linkage, os_member_function::C_linkage, os_member_function::C_plus_plus_linkage, or os_member_function::Fortran_linkage.
enum os_function_kind { Regular, /* applicable only if it is a member function */ Constructor, Destructor, Cast_op, /* the return type gives the cast type */ /* the operators that can be overloaded */ New_op, Delete_op, Plus_op, Minus_op, Mul_op, Div_op, Mod_op, Xor_op, And_op, Or_op, Comp_op, Not_op, Assign_op, Lt_op, Gt_op, Plus_assign_op, Minus_assign_op, Mul_assign_op, Div_assign_op, Mod_assign_op, Xor_assign_op, And_assign_op, Or_assign_op, Lsh_op, Rsh_op, Lsh_assign_op, Rsh_assign_op, Eq_op, Neq_op, Le_op, Ge_op, And_and_op, Or_or_op, Inc_op, Dec_op, Comma_op, Member_deref_op, Deref_op, Paren_op, Subscript_op, Vec_new_op, Vec_delete_op }; os_function_kind get_function_kind() const;Returns an enumerator indicating what kind of function the specified member function is.
const char *get_name() const;Returns the name of the specified member.
void get_source_position( const char* &file, os_unsigned_int32 &line ) const;Returns the source position associated with the specified function.
const os_function_type &get_type() const;Returns an os_function_type&, which contains information about the function, including its return type and argument list.
os_boolean is_const() const;Returns nonzero if and only if the specified member function is const.
os_boolean is_inline() const;Returns nonzero if and only if the specified member function is inline.
os_boolean is_overloaded() const;Returns nonzero if and only if the specified member function is overloaded.
os_boolean is_pure_virtual() const;Returns nonzero if and only if the specified member function is pure virtual.
os_boolean is_static() const;Returns nonzero if and only if the specified member function is static.
os_boolean is_virtual() const;Returns nonzero if and only if the specified member function is virtual.
os_boolean is_volatile() const;Returns nonzero if and only if the specified member function is volatile.
void set_call_linkage(os_call_linkage);Pass os_member_function::No_linkage, os_member_function::C_linkage, os_member_function::C_plus_plus_linkage, or os_member_function::Fortran_linkage.
void set_is_const(os_boolean);1 specifies that the member function is const; 0 specifies that it is non-const.
void set_is_inline(os_boolean);1 specifies that the member function is inline; 0 specifies that it is not inline.
void set_is_overloaded(os_boolean);1 specifies that the member function is overloaded; 0 specifies that it is not.
void set_is_pure_virtual(os_boolean);1 specifies that the member function is a pure virtual function; 0 specifies that it is not.
void set_is_static(os_boolean);1 specifies that the member function is a static function; 0 specifies that it is not.
void set_is_virtual(os_boolean);1 specifies that the member function is a virtual function; 0 specifies that it is not.
void set_is_volatile(os_boolean);1 specifies that the member function is volatile; 0 specifies that it is not.
void set_name(const char* name);Sets the name of the specified member.
void set_source_position( const char* file, os_unsigned_int32 line );Sets the source position associated with the specified function.
void set_type(os_function_type&);Sets the return type of the specified member function.
Updated: 03/31/98 17:25:09