本文整理汇总了C++中register_type函数的典型用法代码示例。如果您正苦于以下问题:C++ register_type函数的具体用法?C++ register_type怎么用?C++ register_type使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了register_type函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CUT_MODULE_IMPL_INIT
G_MODULE_EXPORT GList *
CUT_MODULE_IMPL_INIT (GTypeModule *type_module)
{
GList *registered_types = NULL;
register_type(type_module);
if (cut_type_console_ui_factory)
registered_types =
g_list_prepend(registered_types,
(gchar *)g_type_name(cut_type_console_ui_factory));
return registered_types;
}
示例2: CUT_MODULE_IMPL_INIT
G_MODULE_EXPORT GList *
CUT_MODULE_IMPL_INIT (GTypeModule *type_module)
{
GList *registered_types = NULL;
register_type(type_module);
if (CUT_TYPE_PDF_REPORT)
registered_types =
g_list_prepend(registered_types,
(gchar *)g_type_name(CUT_TYPE_PDF_REPORT));
return registered_types;
}
示例3: get_register
/* Output one register's contents in the desired format. */
static int
get_register (int regnum, int format)
{
gdb_byte buffer[MAX_REGISTER_SIZE];
int optim;
int realnum;
CORE_ADDR addr;
enum lval_type lval;
static struct ui_stream *stb = NULL;
stb = ui_out_stream_new (uiout);
if (format == 'N')
format = 0;
frame_register (get_selected_frame (NULL), regnum, &optim, &lval, &addr,
&realnum, buffer);
if (optim)
{
mi_error_message = xstrprintf ("Optimized out");
return -1;
}
if (format == 'r')
{
int j;
char *ptr, buf[1024];
strcpy (buf, "0x");
ptr = buf + 2;
for (j = 0; j < register_size (current_gdbarch, regnum); j++)
{
int idx = TARGET_BYTE_ORDER == BFD_ENDIAN_BIG ? j
: register_size (current_gdbarch, regnum) - 1 - j;
sprintf (ptr, "%02x", (unsigned char) buffer[idx]);
ptr += 2;
}
ui_out_field_string (uiout, "value", buf);
/*fputs_filtered (buf, gdb_stdout); */
}
else
{
val_print (register_type (current_gdbarch, regnum), buffer, 0, 0,
stb->stream, format, 1, 0, Val_pretty_default);
ui_out_field_stream (uiout, "value", stb);
ui_out_stream_delete (stb);
}
return 1;
}
示例4: CUT_MODULE_IMPL_INIT
G_MODULE_EXPORT GList *
CUT_MODULE_IMPL_INIT (GTypeModule *type_module)
{
GList *registered_types = NULL;
register_type(type_module);
if (cut_type_cpp_integration_loader_customizer_factory) {
registered_types =
g_list_prepend(registered_types,
(gchar *)g_type_name(cut_type_cpp_integration_loader_customizer_factory));
}
return registered_types;
}
示例5: qpyqml_register_singleton_type
// Register a singleton Python type.
int qpyqml_register_singleton_type(PyTypeObject *py_type, const char *uri,
int major, int minor, const char *type_name, PyObject *factory)
{
// Initialise the registration data structure.
QQmlPrivate::RegisterSingletonType *rt = init_type(py_type, factory);
if (!rt)
return -1;
rt->uri = uri;
rt->versionMajor = major;
rt->versionMinor = minor;
rt->typeName = type_name;
return register_type(rt);
}
示例6: register_type
/**
* \brief Initializes the item features provided to Lua.
*/
void LuaContext::register_item_module() {
static const luaL_Reg methods[] = {
{ "get_name", item_api_get_name },
{ "get_game", item_api_get_game },
{ "get_map", item_api_get_map },
{ "get_savegame_variable", item_api_get_savegame_variable },
{ "set_savegame_variable", item_api_set_savegame_variable },
{ "get_amount_savegame_variable", item_api_get_amount_savegame_variable },
{ "set_amount_savegame_variable", item_api_set_amount_savegame_variable },
{ "is_obtainable", item_api_is_obtainable },
{ "set_obtainable", item_api_set_obtainable },
{ "is_assignable", item_api_is_assignable },
{ "set_assignable", item_api_set_assignable },
{ "get_can_disappear", item_api_get_can_disappear },
{ "set_can_disappear", item_api_set_can_disappear },
{ "get_brandish_when_picked", item_api_get_brandish_when_picked },
{ "set_brandish_when_picked", item_api_set_brandish_when_picked },
{ "get_shadow", item_api_get_shadow },
{ "set_shadow", item_api_set_shadow },
{ "get_sound_when_picked", item_api_get_sound_when_picked },
{ "set_sound_when_picked", item_api_set_sound_when_picked },
{ "get_sound_when_brandished", item_api_get_sound_when_brandished },
{ "set_sound_when_brandished", item_api_set_sound_when_brandished },
{ "has_variant", item_api_has_variant },
{ "get_variant", item_api_get_variant },
{ "set_variant", item_api_set_variant },
{ "has_amount", item_api_has_amount },
{ "get_amount", item_api_get_amount },
{ "set_amount", item_api_set_amount },
{ "add_amount", item_api_add_amount },
{ "remove_amount", item_api_remove_amount },
{ "get_max_amount", item_api_get_max_amount },
{ "set_max_amount", item_api_set_max_amount },
{ "set_finished", item_api_set_finished },
{ NULL, NULL }
};
static const luaL_Reg metamethods[] = {
{ "__gc", userdata_meta_gc },
{ "__newindex", userdata_meta_newindex_as_table },
{ "__index", userdata_meta_index_as_table },
{ NULL, NULL }
};
register_type(item_module_name, NULL, methods, metamethods);
}
示例7: ss_is_pointer
inline void
basic_iarchive_impl::load_object(
basic_iarchive & ar,
void * t,
const basic_iserializer & bis
){
m_moveable_objects.is_pointer = false;
serialization::state_saver<bool> ss_is_pointer(m_moveable_objects.is_pointer);
// if its been serialized through a pointer and the preamble's been done
if(t == m_pending.object && & bis == m_pending.bis){
// read data
(bis.load_object_data)(ar, t, m_pending.version);
return;
}
const class_id_type cid = register_type(bis);
const int i = cid;
cobject_id & co = cobject_id_vector[i];
load_preamble(ar, co);
// save the current move stack position in case we want to truncate it
boost::serialization::state_saver<object_id_type> ss_start(m_moveable_objects.start);
// note: extra line used to evade borland issue
const bool tracking = co.tracking_level;
object_id_type this_id;
m_moveable_objects.start =
this_id = object_id_type(object_id_vector.size());
// if we tracked this object when the archive was saved
if(tracking){
// if it was already read
if(!track(ar, t))
// we're done
return;
// add a new enty into the tracking list
object_id_vector.push_back(aobject(t, cid));
// and add an entry for this object
m_moveable_objects.end = object_id_type(object_id_vector.size());
}
// read data
(bis.load_object_data)(ar, t, co.file_version);
m_moveable_objects.recent = this_id;
}
示例8: register_type
/**
* \brief Initializes the text surface features provided to Lua.
*/
void LuaContext::register_text_surface_module() {
// Functions of sol.surface.
static const luaL_Reg functions[] = {
{ "create", text_surface_api_create },
{ nullptr, nullptr },
};
// Methods of the text_surface type.
static const luaL_Reg methods[] = {
{ "get_horizontal_alignment", text_surface_api_get_horizontal_alignment },
{ "set_horizontal_alignment", text_surface_api_set_horizontal_alignment },
{ "get_vertical_alignment", text_surface_api_get_vertical_alignment },
{ "set_vertical_alignment", text_surface_api_set_vertical_alignment },
{ "get_font", text_surface_api_get_font },
{ "set_font", text_surface_api_set_font },
{ "get_rendering_mode", text_surface_api_get_rendering_mode },
{ "set_rendering_mode", text_surface_api_set_rendering_mode },
{ "get_color", text_surface_api_get_color },
{ "set_color", text_surface_api_set_color },
{ "get_font_size", text_surface_api_get_font_size },
{ "set_font_size", text_surface_api_set_font_size },
{ "get_text", text_surface_api_get_text },
{ "set_text", text_surface_api_set_text },
{ "set_text_key", text_surface_api_set_text_key },
{ "get_size", text_surface_api_get_size },
{ "draw", drawable_api_draw },
{ "draw_region", drawable_api_draw_region },
{ "get_blend_mode", drawable_api_get_blend_mode },
{ "set_blend_mode", drawable_api_set_blend_mode },
{ "fade_in", drawable_api_fade_in },
{ "fade_out", drawable_api_fade_out },
{ "get_xy", drawable_api_get_xy },
{ "set_xy", drawable_api_set_xy },
{ "get_movement", drawable_api_get_movement },
{ "stop_movement", drawable_api_stop_movement },
{ nullptr, nullptr }
};
static const luaL_Reg metamethods[] = {
{ "__gc", drawable_meta_gc },
{ nullptr, nullptr }
};
register_type(text_surface_module_name, functions, methods, metamethods);
}
示例9: register_alias_types_from_declarator_list
void register_alias_types_from_declarator_list(DeclaratorList * l)
{
DeclaratorList *i;
for (i = l; i != NULL; i = i->next) {
Type *base = l->type;
Type *final;
if (l->nsizes)
final =
(Type *) create_array_type(base, l->nsizes,
l->array_sizes);
else
final = base;
AliasType *alias = create_alias_type(l->name, final);
register_type((Type *) alias);
}
示例10: lbind_newmetatable
LB_API int lbind_newmetatable(lua_State *L, luaL_Reg *libs, const lbind_Type *t) {
if (type_exists(L, t)) return 0;
lua_createtable(L, 0, 8);
if (libs != NULL)
luaL_setfuncs(L, libs, 0);
/* init type metatable */
lua_pushlightuserdata(L, (void*)t);
lua_setfield(L, -2, "__type");
if (!lbind_hasfield(L, -1, "__gc")) {
lua_pushcfunction(L, Lgc);
lua_setfield(L, -2, "__gc");
}
if (!lbind_hasfield(L, -1, "__tostring")) {
lua_pushcfunction(L, Ltostring);
lua_setfield(L, -2, "__tostring");
}
if (t->bases != NULL && t->bases[0] != NULL) {
int nups = 0;
int freeslots = 0;
lbind_Type **bases = t->bases;
for (; *bases != NULL; ++nups, ++bases) {
if (nups > freeslots) {
luaL_checkstack(L, 10, "no space for base types");
freeslots += 10;
}
if (!lbind_getmetatable(L, *bases))
lua_pushlightuserdata(L, *bases);
}
lbind_setindexf(L, nups);
}
else if (!lbind_hasfield(L, -1, "__index")) {
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
}
register_type(L, t->name, (const void*)t);
return 1;
}
示例11: m68k_svr4_extract_return_value
static void
m68k_svr4_extract_return_value (struct type *type, struct regcache *regcache,
gdb_byte *valbuf)
{
gdb_byte buf[M68K_MAX_REGISTER_SIZE];
struct gdbarch *gdbarch = get_regcache_arch (regcache);
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
if (tdep->float_return && TYPE_CODE (type) == TYPE_CODE_FLT)
{
struct type *fpreg_type = register_type (gdbarch, M68K_FP0_REGNUM);
regcache_raw_read (regcache, M68K_FP0_REGNUM, buf);
convert_typed_floating (buf, fpreg_type, valbuf, type);
}
else if (TYPE_CODE (type) == TYPE_CODE_PTR && TYPE_LENGTH (type) == 4)
regcache_raw_read (regcache, M68K_A0_REGNUM, valbuf);
else
m68k_extract_return_value (type, regcache, valbuf);
}
示例12: register_type
/**
* \brief Initializes the sprite features provided to Lua.
*/
void LuaContext::register_sprite_module() {
static const luaL_Reg functions[] = {
{ "create", sprite_api_create },
{ nullptr, nullptr }
};
static const luaL_Reg methods[] = {
{ "get_animation_set", sprite_api_get_animation_set },
{ "get_animation", sprite_api_get_animation },
{ "set_animation", sprite_api_set_animation },
{ "has_animation", sprite_api_has_animation },
{ "get_direction", sprite_api_get_direction },
{ "set_direction", sprite_api_set_direction },
{ "get_num_directions", sprite_api_get_num_directions },
{ "get_frame", sprite_api_get_frame },
{ "set_frame", sprite_api_set_frame },
{ "get_frame_delay", sprite_api_get_frame_delay },
{ "set_frame_delay", sprite_api_set_frame_delay },
{ "is_paused", sprite_api_is_paused },
{ "set_paused", sprite_api_set_paused },
{ "set_ignore_suspend", sprite_api_set_ignore_suspend },
{ "synchronize", sprite_api_synchronize },
{ "draw", drawable_api_draw },
{ "draw_region", drawable_api_draw_region },
{ "fade_in", drawable_api_fade_in },
{ "fade_out", drawable_api_fade_out },
{ "get_xy", drawable_api_get_xy },
{ "set_xy", drawable_api_set_xy },
{ "get_movement", drawable_api_get_movement },
{ "stop_movement", drawable_api_stop_movement },
{ nullptr, nullptr }
};
static const luaL_Reg metamethods[] = {
{ "__gc", drawable_meta_gc },
{ "__newindex", userdata_meta_newindex_as_table },
{ "__index", userdata_meta_index_as_table },
{ nullptr, nullptr }
};
register_type(sprite_module_name, functions, methods, metamethods);
}
示例13: m68k_value_to_register
static void
m68k_value_to_register (struct frame_info *frame, int regnum,
struct type *type, const gdb_byte *from)
{
gdb_byte to[M68K_MAX_REGISTER_SIZE];
struct type *fpreg_type = register_type (get_frame_arch (frame),
M68K_FP0_REGNUM);
/* We only support floating-point values. */
if (TYPE_CODE (type) != TYPE_CODE_FLT)
{
warning (_("Cannot convert non-floating-point type "
"to floating-point register value."));
return;
}
/* Convert from TYPE. */
convert_typed_floating (from, type, to, fpreg_type);
put_frame_register (frame, regnum, to);
}
示例14: m68k_value_to_register
static void
m68k_value_to_register (struct frame_info *frame, int regnum,
struct type *type, const gdb_byte *from)
{
gdb_byte to[M68K_MAX_REGISTER_SIZE];
struct type *fpreg_type = register_type (current_gdbarch, M68K_FP0_REGNUM);
/* We only support floating-point values. */
if (TYPE_CODE (type) != TYPE_CODE_FLT)
{
warning (_("Cannot convert non-floating-point type "
"to floating-point register value."));
return;
}
/* Convert from TYPE. This should be a no-op if TYPE is equivalent
to the extended floating-point format used by the FPU. */
convert_typed_floating (from, type, to, fpreg_type);
put_frame_register (frame, regnum, to);
}
示例15: m68k_register_to_value
static int
m68k_register_to_value (struct frame_info *frame, int regnum,
struct type *type, gdb_byte *to,
int *optimizedp, int *unavailablep)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
gdb_byte from[M68K_MAX_REGISTER_SIZE];
struct type *fpreg_type = register_type (gdbarch, M68K_FP0_REGNUM);
gdb_assert (TYPE_CODE (type) == TYPE_CODE_FLT);
/* Convert to TYPE. */
if (!get_frame_register_bytes (frame, regnum, 0,
register_size (gdbarch, regnum),
from, optimizedp, unavailablep))
return 0;
target_float_convert (from, fpreg_type, to, type);
*optimizedp = *unavailablep = 0;
return 1;
}