本文整理汇总了C++中print_object函数的典型用法代码示例。如果您正苦于以下问题:C++ print_object函数的具体用法?C++ print_object怎么用?C++ print_object使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了print_object函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: print_data
int print_data( pwr_sAttrRef *arp, FILE *fp)
{
int sts;
char *s;
pwr_tClassId classid;
char *object_p;
pwr_tAName dataname;
pwr_tAName objectname;
pwr_tAName attributename;
pwr_tAttrRef aref;
int object_backup;
int array_element = 0;
int index;
int nr;
sts = gdh_AttrrefToName( arp, dataname, sizeof(dataname), cdh_mNName);
if ( EVEN(sts)) return sts;
strcpy( objectname, dataname);
if ( !arp->Flags.b.ObjectAttr && (s = strchr( objectname, '.'))) {
*s = 0;
object_backup = 0;
strcpy( attributename, dataname);
if ( (s = strchr( dataname, '['))) {
array_element = 1;
nr = sscanf( s+1, "%d", &index);
if ( nr != 1) return 0;
}
}
else {
object_backup = 1;
}
sts = gdh_NameToAttrref( pwr_cNOid, objectname, &aref);
if ( EVEN(sts)) return sts;
sts = gdh_AttrRefToPointer( &aref, (void **)&object_p);
if ( EVEN(sts)) return sts;
sts = gdh_GetAttrRefTid( &aref, &classid);
if ( EVEN(sts)) return sts;
if ( object_backup) {
print_object( &aref, classid, object_p, 0, objectname, fp);
}
else {
print_attribute( &aref, classid, object_p, attributename, array_element, index, fp);
}
return 1;
}
开发者ID:ManfredHerrmann,项目名称:proview,代码行数:51,代码来源:rt_bck_print.c
示例2: meta_print_eopt
static int meta_print_eopt(FILE *fd, struct tcf_ematch_hdr *hdr, void *data,
int data_len)
{
struct rtattr *tb[TCA_EM_META_MAX+1];
struct tcf_meta_hdr *meta_hdr;
if (parse_rtattr(tb, TCA_EM_META_MAX, data, data_len) < 0)
return -1;
if (tb[TCA_EM_META_HDR] == NULL) {
fprintf(stderr, "Missing meta header\n");
return -1;
}
if (RTA_PAYLOAD(tb[TCA_EM_META_HDR]) < sizeof(*meta_hdr)) {
fprintf(stderr, "Meta header size mismatch\n");
return -1;
}
meta_hdr = RTA_DATA(tb[TCA_EM_META_HDR]);
if (print_object(fd, &meta_hdr->left, tb[TCA_EM_META_LVALUE]) < 0)
return -1;
switch (meta_hdr->left.op) {
case TCF_EM_OPND_EQ:
fprintf(fd, " eq ");
break;
case TCF_EM_OPND_LT:
fprintf(fd, " lt ");
break;
case TCF_EM_OPND_GT:
fprintf(fd, " gt ");
break;
}
return print_object(fd, &meta_hdr->right, tb[TCA_EM_META_RVALUE]);
}
开发者ID:Aceofzeroz,项目名称:android_kernel_asus_ze55xml,代码行数:38,代码来源:em_meta.c
示例3: main
int main(int argc, char **argv) {
while(1) {
object_t exp = read_stream(stdin);
printf("--\n");
print_object(exp);
if(iscons(exp) && isproperlist(exp))
printf(" proper list");
else
printf(" symbol or improper list");
printf("\n");
}
}
开发者ID:spacemanaki,项目名称:lisp-in-c,代码行数:14,代码来源:reader-test.c
示例4: print_object
void print_object(object *obj)
{
int first = 1;
if (!obj)
return;
switch (TYPE(obj)) {
case OBJ_SYMBOL:
printf("%s", STR(obj));
break;
case OBJ_NUMBER:
printf("%d", NUM(obj));
break;
case OBJ_BOOLEAN:
printf("%s", (NUM(obj) ? "#t" : "#f"));
break;
case OBJ_PAIR:
printf("(");
while (TYPE(obj) == OBJ_PAIR &&
obj != null_object) {
if (!first)
putchar(' ');
print_object(CAR(obj));
obj = CDR(obj);
first = 0;
}
if (obj != null_object) {
printf(" . ");
print_object(obj);
}
printf(")");
break;
case OBJ_PRIMITIVE_PROCEDURE:
case OBJ_COMPOUND_PROCEDURE:
printf("#<procedure>");
break;
}
}
开发者ID:medici,项目名称:Scheme-1,代码行数:37,代码来源:object.c
示例5: print_schema
void print_schema(reflection_Schema_table_t S)
{
reflection_Object_vec_t Objs;
reflection_Enum_vec_t Enums;
size_t i;
Objs = reflection_Schema_objects(S);
printf("{");
printf("\"objects\":[");
for (i = 0; i < reflection_Object_vec_len(Objs); ++i) {
if (i > 0) {
printf(",");
}
print_object(reflection_Object_vec_at(Objs, i));
}
printf("]");
Enums = reflection_Schema_enums(S);
printf(",\"enums\":[");
for (i = 0; i < reflection_Enum_vec_len(Enums); ++i) {
if (i > 0) {
printf(",");
}
print_enum(reflection_Enum_vec_at(Enums, i));
}
printf("]");
if (reflection_Schema_file_ident_is_present(S)) {
printf(",\"file_ident\":\"%s\"", reflection_Schema_file_ident(S));
}
if (reflection_Schema_file_ext_is_present(S)) {
printf(",\"file_ext\":\"%s\"", reflection_Schema_file_ext(S));
}
if (reflection_Schema_root_table_is_present(S)) {
printf(",\"root_table\":");
print_object(reflection_Schema_root_table(S));
}
printf("}\n");
}
开发者ID:Tao-Ma,项目名称:flatcc,代码行数:37,代码来源:bfbs2json.c
示例6: new_index
void new_index(char *hash) {
char *indexpath = get_repo_troll_dir();
indexpath = (char *) realloc(indexpath, strlen(indexpath) + 5);
strcat(indexpath, "index");
printf("New index at %s\n",indexpath);
int index = open(indexpath, O_WRONLY | O_TRUNC, 0644);
free(indexpath);
lseek(index, 0, SEEK_SET);
int sout = dup(STDOUT_FILENO);
dup2(index,STDOUT_FILENO);
print_object(hash);
dup2(sout,STDOUT_FILENO);
}
开发者ID:kevinwang,项目名称:troll,代码行数:15,代码来源:checkout.c
示例7: main
int main(int argc, char **argv) {
while(1) {
printf("> ");
struct node *lines = read_sexp(stdin);
object_t sexp = parse_sexp(lines);
if(*(char*)lines->data == 'q') {
auxfor_each(lines, &free_node_and_string);
return 0;
}
print_object(sexp);
printf("\n");
auxfor_each(lines, &free_node_and_string);
}
}
开发者ID:spacemanaki,项目名称:lisp-in-c,代码行数:16,代码来源:read_test.c
示例8: switch
// Render a value to text.
char *print_value(JSON *item,int depth,int fmt)
{
char *out=0;
if (!item) return 0;
switch ((item->type)&255)
{
case JSON_NULL: out = tr50_json_strdup("null"); break;
case JSON_FALSE: out = tr50_json_strdup("false"); break;
case JSON_TRUE: out = tr50_json_strdup("true"); break;
case JSON_NUMBER: out=print_number(item);break;
case JSON_STRING: out=print_string(item);break;
case JSON_ARRAY: out=print_array(item,depth,fmt);break;
case JSON_OBJECT: out=print_object(item,depth,fmt);break;
}
return out;
}
开发者ID:inhedron,项目名称:libtr50,代码行数:17,代码来源:tr50.json.c
示例9: switch
/* Render a value to text. */
static char *print_value(cJSON *item,int depth,int fmt)
{
char *out=0;
if (!item) return 0;
switch ((item->type)&255)
{
case cJSON_NULL: out=cJSON_strdup("null"); break;
case cJSON_False: out=cJSON_strdup("false");break;
case cJSON_True: out=cJSON_strdup("true"); break;
case cJSON_Number: out=print_number(item);break;
case cJSON_String: out=print_string(item);break;
case cJSON_Array: out=print_array(item,depth,fmt);break;
case cJSON_Object: out=print_object(item,depth,fmt);break;
}
return out;
}
开发者ID:alterto,项目名称:watersystem,代码行数:17,代码来源:cJSON.c
示例10: print_object
void print_object(FILE *fp, UnionType o)
{
if (!fp) fp = stdout;
//fprintf(stderr, "type = [%d]\n", TYPE(o));
switch (TYPE(o.o)) {
case Int:
fprintf(fp, "%d", (int)to_Int(o.o));
break;
case Double:
fprintf(fp, "%f", o.d);
break;
case String:
fprintf(fp, "%s", (to_String(o.o))->s);
break;
case Array:
if (fp != stdout) {
_print_with_handler(fp, to_Array(o.o));
} else {
print(to_Array(o.o));
}
break;
case ArrayRef:
fprintf(fp, "ARRAY(%p)", to_Ptr(o.o));
break;
case Hash:
print_hash(fp, to_Hash(o.o));
break;
case HashRef:
fprintf(fp, "HASH(%p)", to_Ptr(o.o));
break;
case CodeRef:
fprintf(fp, "CODE(%p)", to_Ptr(o.o));
break;
case ObjectType: {
Object *object = to_Object(o.o);
print_object(fp, object->v);
break;
}
case BlessedObjectType:
fprintf(fp, "%s=HASH(%p)", (to_BlessedObject(o.o))->pkg_name, to_Ptr(o.o));
break;
default:
break;
}
}
开发者ID:PeterMartini,项目名称:p5-Compiler-CodeGenerator-LLVM,代码行数:45,代码来源:runtime_api_32.c
示例11: switch
/* Render a value to text. */
static char *print_value(cJSON *item,int depth,int fmt, ngx_pool_t *pool)
{
char *out=0;
if (!item) return 0;
switch ((item->type)&255)
{
case cJSON_NULL: out=cJSON_strdup("null", pool); break;
case cJSON_False: out=cJSON_strdup("false", pool);break;
case cJSON_True: out=cJSON_strdup("true", pool); break;
case cJSON_Number: out=print_number(item, pool);break;
case cJSON_VerFloat: out=print_verfloat(item, pool);break;
case cJSON_String: out=print_string(item, pool);break;
case cJSON_Array: out=print_array(item,depth,fmt, pool);break;
case cJSON_Object: out=print_object(item,depth,fmt, pool);break;
case cJSON_2dFloatArray: out=print_2dfloat_array(item, fmt, pool);break;
}
return out;
}
开发者ID:1nfused,项目名称:RedPitaya,代码行数:19,代码来源:cJSON.c
示例12: while
void hoard::print_object(size_t n) {
char buffer[32];
size_t divisor = 1;
while (divisor <= (n / 10))
divisor *= 10;
char *p = buffer;
do {
*p++ = (char) (((n / divisor) % 10) + '0');
divisor /= 10;
}
while (divisor != 0);
*p = '\0';
print_object(buffer);
}
开发者ID:ndkoval,项目名称:HoardAllocator,代码行数:19,代码来源:tracing.cpp
示例13: switch
/// Internal: Render a value to text.
static char *print_value(JSON *item, int depth, bool fmt)
{
char *out = 0;
if(!item) return 0;
if(item->original) { //imported item
item = item->original;
}
switch (item->type)
{
case JSON_NULL: out = newstring("null"); break;
case JSON_FALSE: out = newstring("false"); break;
case JSON_TRUE: out = newstring("true"); break;
case JSON_NUMBER: out = print_number(item); break;
case JSON_STRING: out = print_string(item); break;
case JSON_ARRAY: out = print_array( item, depth, fmt);break;
case JSON_OBJECT: out = print_object(item, depth, fmt);break;
}
return out;
}
开发者ID:PowerKiller,项目名称:code,代码行数:20,代码来源:json.cpp
示例14: walk_tree
static int walk_tree(const unsigned char *sha1, const char *base, int baselen,
const char *pathname, unsigned mode, int stage,
void *cbdata)
{
if (baselen == match_baselen) {
if (S_ISREG(mode))
print_object(sha1, pathname);
else if (S_ISDIR(mode)) {
print_dir(sha1, pathname, base);
return READ_TREE_RECURSIVE;
}
}
else if (baselen > match_baselen)
print_dir_entry(sha1, pathname, mode);
else if (S_ISDIR(mode))
return READ_TREE_RECURSIVE;
return 0;
}
开发者ID:MarkLodato,项目名称:cgit,代码行数:19,代码来源:ui-plain.c
示例15: print_object
void print_object(object_t root) {
switch (root.tag) {
case OBJECT_FIXNUM_TAG:
printf("%d", fixnum_unbox(root));
break;
case OBJECT_WORD_TAG:
printf("%s", string_unbox(word_name(root)));
break;
case OBJECT_LIST_TAG:
printf("[ ");
while (!object_eq(root, list_nil)) {
print_object(list_head(root));
printf(" ");
root = list_tail(root);
}
printf("]");
break;
case OBJECT_STRING_TAG:
printf("\"%s\"", string_unbox(root));
break;
case OBJECT_PRIMITIVE_TAG:
printf("0x%p", (void *)primitive_unbox(root));
break;
case OBJECT_BOOLEAN_TAG:
if (object_eq(root, boolean_t))
printf("t");
else
printf("f");
break;
case OBJECT_WRAPPER_TAG:
printf("\\ %s", string_unbox(word_name(wrapper_unbox(root))));
break;
case OBJECT_CONTINUATION_TAG:
printf("0x%p", continuation_unbox(root));
break;
case OBJECT_BLOCK_TAG:
printf("0x%p", block_unbox(root));
break;
default:
fail();
}
}
开发者ID:ebb,项目名称:pufn,代码行数:42,代码来源:print.c
示例16: heap_what_points_to_in
word_t heap_what_points_to_in(struct object_heap* oh, struct Object* x, byte_t* memory, word_t memorySize, bool_t print) {
struct Object* obj = (struct Object*) memory;
word_t count = 0;
while (object_in_memory(oh, obj, memory, memorySize)) {
word_t offset, limit;
offset = object_first_slot_offset(obj);
limit = object_last_oop_offset(obj) + sizeof(word_t);
for (; offset != limit; offset += sizeof(word_t)) {
struct Object* val = object_slot_value_at_offset(obj, offset);
if (val == x) {
if (!object_is_free(obj)) count++;
if (print && !object_is_free(obj)) {
fprintf(stderr, "pointed to by "); print_object(obj);
}
break;
}
}
obj = object_after(oh, obj);
}
return count;
}
开发者ID:briantrice,项目名称:slate-language,代码行数:21,代码来源:debug.cpp
示例17: switch
/* Render a value to text. */
static char *print_value(struct json *item, int depth, int fmt)
{
char *out = NULL;
if (!item)
return 0;
if (fmt == item->print_fmt && item->print_out)
return item->print_out;
switch ((item->type) & 255) {
case JSON_T_NULL:
out = json_strdup("null");
break;
case JSON_T_FALSE:
out = json_strdup("false");
break;
case JSON_T_TRUE:
out = json_strdup("true");
break;
case JSON_T_NUMBER:
out = print_number(item);
break;
case JSON_T_STRING:
out = print_string(item);
break;
case JSON_T_ARRAY:
out = print_array(item, depth, fmt);
break;
case JSON_T_OBJECT:
out = print_object(item, depth, fmt);
break;
}
if (item->print_out)
json_free(item->print_out);
item->print_out = out;
item->print_fmt = fmt;
return out;
}
开发者ID:yubo,项目名称:libubox,代码行数:41,代码来源:json.c
示例18: copy_out
void copy_out() {
char *indexpath = get_repo_troll_dir();
indexpath = (char *) realloc(indexpath, strlen(indexpath) + 5);
strcat(indexpath, "index");
FILE *findex = fopen(indexpath, "r");
free(indexpath);
fseek(findex, 0, SEEK_SET);
char hash[41];
int newfile;
char *trollpath = get_repo_troll_dir();
char *repo_path = (char *) malloc(strlen(trollpath) - 7);
strncat(repo_path,trollpath,strlen(trollpath) - 7);
free(trollpath);
char *newpath;
char name[256];
int sout;
char *lastchar;
sout = dup(STDOUT_FILENO);
while(fgets(hash, 41, findex)) {
fseek(findex,1,SEEK_CUR);
fgets(name, 256, findex);
newpath = (char *) malloc(strlen(repo_path) + strlen(name));
strcat(newpath, repo_path);
strcat(newpath, name);
lastchar = strstr(newpath,"\n");
*lastchar = '\0';
newfile = open(newpath, O_WRONLY | O_TRUNC, 0644);
printf("%s\n",newpath);
dup2(newfile,STDOUT_FILENO);
print_object(hash);
dup2(sout,STDOUT_FILENO);
close(newfile);
}
}
开发者ID:kevinwang,项目名称:troll,代码行数:40,代码来源:checkout.c
示例19: sizeof
void hoard::print_object(void *px) {
static char const *hexdigits = "0123456789abcdef";
static char buffer[32];
size_t n = (size_t) px;
char *p = buffer;
*p++ = '0';
*p++ = 'x';
int shift = sizeof(void *) * 8;
do {
shift -= 4;
*p++ = hexdigits[(n >> shift) & 15];
}
while (shift != 0);
*p = '\0';
print_object(buffer);
}
开发者ID:ndkoval,项目名称:HoardAllocator,代码行数:22,代码来源:tracing.cpp
示例20: see_lists
int see_lists(t_all *all)
{
t_object *objects;
t_spot *spots;
objects = all->objects;
spots = all->spots;
if (print_global(all) < 0 || printf("\nObjects:\n\n") < 0 ||
print_object(objects) < 0 || printf("\nSpots:\n\n") < 0)
return (-1);
while (spots != NULL)
{
if (printf("Spots pos : x = %f, y = %f, z = %f\n",
spots->pos.x, spots->pos.y, spots->pos.z) < 0 ||
printf("Spots color : r = %f, g = %f, b = %f\n",
spots->color.r, spots->color.g, spots->color.b) < 0 ||
printf("Orientation = %f\nIntensity = %f\nRadius = %f\n\n",
spots->orientation, spots->intensity, spots->radius) < 0)
return (-1);
spots = spots->next;
}
return ((printf("\n") < 0) ? -1 : 0);
}
开发者ID:athomaj,项目名称:rtracer,代码行数:23,代码来源:print_things.c
注:本文中的print_object函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论