您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ ASSERTN函数代码示例

51自学网 2021-06-01 19:37:23
  C++
这篇教程C++ ASSERTN函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中ASSERTN函数的典型用法代码示例。如果您正苦于以下问题:C++ ASSERTN函数的具体用法?C++ ASSERTN怎么用?C++ ASSERTN使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了ASSERTN函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: bus_write

int bus_write(struct bus_t *self_p,              int id,              const void *buf_p,              size_t size){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(buf_p != NULL, EINVAL);    ASSERTN(size > 0, EINVAL);    int number_of_receivers;    struct bus_listener_t *curr_p;    rwlock_reader_take(&self_p->rwlock);    curr_p = (struct bus_listener_t *)binary_tree_search(        &self_p->listeners, id);    number_of_receivers = 0;    while (curr_p != NULL) {        ((struct chan_t *)curr_p->chan_p)->write(curr_p->chan_p,                                                 buf_p,                                                 size);        number_of_receivers++;        curr_p = curr_p->next_p;    }    rwlock_reader_give(&self_p->rwlock);    return (number_of_receivers);}
开发者ID:eerimoq,项目名称:simba,代码行数:30,


示例2: settings_write_by_name

ssize_t settings_write_by_name(const char *name_p,                               const void *src_p,                               size_t size){    ASSERTN(name_p != NULL, EINVAL);    ASSERTN(src_p != NULL, EINVAL);    ASSERTN(size > 0, EINVAL);    const FAR struct setting_t *setting_p;    /* Find the setting in the settings array. */    setting_p = &settings[0];    while (setting_p->name_p != NULL) {        if (std_strcmp(name_p, setting_p->name_p) == 0) {            if (size > setting_p->size) {                return (-1);            }            return (settings_write(setting_p->address, src_p, size));        }        setting_p++;    }    return (-1);}
开发者ID:eerimoq,项目名称:simba,代码行数:27,


示例3: spi_init

int spi_init(struct spi_driver_t *self_p,             struct spi_device_t *dev_p,             struct pin_device_t *ss_pin_p,             int mode,             int speed,             int polarity,             int phase){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(dev_p != NULL, EINVAL);    ASSERTN(ss_pin_p != NULL, EINVAL);    self_p->dev_p = dev_p;    self_p->mode = mode;    self_p->speed = speed;    self_p->polarity = polarity;    self_p->phase = phase;    return (spi_port_init(self_p,                          dev_p,                          ss_pin_p,                          mode,                          speed,                          polarity,                          phase));}
开发者ID:eerimoq,项目名称:simba,代码行数:26,


示例4: queue_init

int queue_init(struct queue_t *self_p,               void *buf_p,               size_t size){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN((buf_p == NULL)            || ((buf_p != NULL) && (size > 0)), EINVAL);    chan_init(&self_p->base,              (chan_read_fn_t)queue_read,              (chan_write_fn_t)queue_write,              (chan_size_fn_t)queue_size);    chan_set_write_isr_cb(&self_p->base, (chan_write_fn_t)queue_write_isr);    self_p->buffer.begin_p = buf_p;    self_p->buffer.read_p = buf_p;    self_p->buffer.write_p = buf_p;    self_p->buffer.end_p = &((char*)buf_p)[size];    self_p->buffer.size = size;    self_p->state = QUEUE_STATE_INITIALIZED;    self_p->buf_p = NULL;    self_p->size = 0;    self_p->left = 0;    return (0);}
开发者ID:eerimoq,项目名称:simba,代码行数:28,


示例5: heap_free

int heap_free(struct heap_t *self_p,              void *buf_p){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(buf_p != NULL, EINVAL);    int count;    struct heap_buffer_header_t *header_p;    header_p = &((struct heap_buffer_header_t *)buf_p)[-1];    sys_lock();    if (header_p->count > 0) {        header_p->count--;        count = header_p->count;                /* Free when count is zero. */        if (count == 0) {            if (header_p->u.fixed_p != NULL) {                count = free_fixed_size(self_p, header_p);            } else {                count = free_dynamic_buffer(self_p, header_p);            }        }    } else {        count = -1;    }    sys_unlock();    return (count);}
开发者ID:eerimoq,项目名称:simba,代码行数:33,


示例6: http_server_init

int http_server_init(struct http_server_t *self_p,                     struct http_server_listener_t *listener_p,                     struct http_server_connection_t *connections_p,                     const char *root_path_p,                     const struct http_server_route_t *routes_p,                     http_server_route_callback_t on_no_route){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(listener_p != NULL, EINVAL)    ASSERTN(connections_p != NULL, EINVAL);    ASSERTN(routes_p != NULL, EINVAL);    ASSERTN(on_no_route != NULL, EINVAL);    struct http_server_connection_t *connection_p;    self_p->listener_p = listener_p;    self_p->connections_p = connections_p;    self_p->root_path_p = root_path_p;    self_p->routes_p = routes_p;    self_p->on_no_route = on_no_route;    connection_p = self_p->connections_p;    while (connection_p->thrd.name_p != NULL) {        connection_p->state = http_server_connection_state_free_t;        connection_p->self_p = self_p;        event_init(&connection_p->events);        connection_p++;    }    event_init(&self_p->events);    return (0);}
开发者ID:eerimoq,项目名称:simba,代码行数:35,


示例7: event_read

ssize_t event_read(struct event_t *self_p,                   void *buf_p,                   size_t size){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(buf_p != NULL, EINVAL);    ASSERTN(size == sizeof(uint32_t), EINVAL);    uint32_t *mask_p, mask;    mask_p = (uint32_t *)buf_p;    sys_lock();    mask = (self_p->mask & *mask_p);    /* Event already set? Otherwise wait for it. */    if (mask != 0) {        *mask_p = mask;    } else {        self_p->base.reader_p = thrd_self();        thrd_suspend_isr(NULL);        *mask_p = (self_p->mask & *mask_p);    }    /* Remove read events from the event channel. */    self_p->mask &= (~(*mask_p));    sys_unlock();    return (size);}
开发者ID:eerimoq,项目名称:simba,代码行数:32,


示例8: pin_write

int pin_write(struct pin_driver_t *self_p, int value){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN((value == 0) || (value == 1), EINVAL);    return (pin_port_write(self_p, value));}
开发者ID:eerimoq,项目名称:simba,代码行数:7,


示例9: network_interface_wifi_init

int network_interface_wifi_init(struct network_interface_wifi_t *self_p,                                const char *name_p,                                struct network_interface_wifi_driver_t *driver_p,                                void *arg_p,                                const char *ssid_p,                                const char *password_p){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(name_p != NULL, EINVAL);    ASSERTN(driver_p != NULL, EINVAL);    ASSERTN(ssid_p != NULL, EINVAL);    self_p->network_interface.name_p = name_p;    self_p->network_interface.start =        (network_interface_start_t)network_interface_wifi_start;    self_p->network_interface.stop =        (network_interface_stop_t)network_interface_wifi_stop;    self_p->network_interface.is_up =        (network_interface_is_up_t)network_interface_wifi_is_up;    self_p->network_interface.set_ip_info =        (network_interface_set_ip_info_t)network_interface_wifi_set_ip_info;    self_p->network_interface.get_ip_info =        (network_interface_get_ip_info_t)network_interface_wifi_get_ip_info;    self_p->driver_p = driver_p;    self_p->arg_p = arg_p;    self_p->ssid_p = ssid_p;    self_p->password_p = password_p;    self_p->info_p = NULL;    /* Initialize the driver. */    driver_p->init(arg_p);        return (0);}
开发者ID:wuwx,项目名称:simba,代码行数:35,


示例10: settings_read

ssize_t settings_read(void *dst_p, size_t src, size_t size){    ASSERTN(dst_p != NULL, EINVAL);    ASSERTN(src >= 0, EINVAL);    ASSERTN(size > 0, EINVAL);    return (settings_port_read(dst_p, src, size));}
开发者ID:eerimoq,项目名称:simba,代码行数:8,


示例11: settings_write

ssize_t settings_write(size_t dst, const void *src_p, size_t size){    ASSERTN(dst >= 0, EINVAL);    ASSERTN(src_p != NULL, EINVAL);    ASSERTN(size > 0, EINVAL);    return (settings_port_write(dst, src_p, size));}
开发者ID:eerimoq,项目名称:simba,代码行数:8,


示例12: network_interface_wifi_get_ip_info

int network_interface_wifi_get_ip_info(struct network_interface_wifi_t *self_p,                                       struct inet_if_ip_info_t *info_p){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(info_p != NULL, EINVAL);    return (self_p->driver_p->get_ip_info(self_p->arg_p, info_p));}
开发者ID:wuwx,项目名称:simba,代码行数:8,


示例13: spi_get

ssize_t spi_get(struct spi_driver_t *self_p,                uint8_t *data_p){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(data_p != NULL, EINVAL);    return (spi_read(self_p, data_p, 1));}
开发者ID:eerimoq,项目名称:simba,代码行数:8,


示例14: spi_read

ssize_t spi_read(struct spi_driver_t *self_p,                 void *rxbuf_p,                 size_t size){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(rxbuf_p != NULL, EINVAL);    ASSERTN(size > 0, EINVAL);    return (spi_transfer(self_p, rxbuf_p, NULL, size));}
开发者ID:eerimoq,项目名称:simba,代码行数:10,


示例15: can_read

ssize_t can_read(struct can_driver_t *self_p,                 struct can_frame_t *frame_p,                 size_t size){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(frame_p != NULL, EINVAL);    ASSERTN(size > 0, EINVAL);    return (queue_read(&self_p->chin, frame_p, size));}
开发者ID:wuwx,项目名称:simba,代码行数:10,


示例16: spi_write

ssize_t spi_write(struct spi_driver_t *self_p,                  const void *txbuf_p,                  size_t size){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(txbuf_p != NULL, EINVAL);    ASSERTN(size > 0, EINVAL);    return (spi_transfer(self_p, NULL, txbuf_p, size));}
开发者ID:eerimoq,项目名称:simba,代码行数:10,


示例17: dac_convert

int dac_convert(struct dac_driver_t *self_p,                uint32_t *samples_p,                size_t length){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(samples_p != NULL, EINVAL);    ASSERTN(length > 0, EINVAL);    return (dac_port_convert(self_p, samples_p, length));}
开发者ID:eerimoq,项目名称:simba,代码行数:10,


示例18: can_write

ssize_t can_write(struct can_driver_t *self_p,                  const struct can_frame_t *frame_p,                  size_t size){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(frame_p != NULL, EINVAL);    ASSERTN(size > 0, EINVAL);    return (chan_write(&self_p->base, frame_p, size));}
开发者ID:wuwx,项目名称:simba,代码行数:10,


示例19: spi_transfer

ssize_t spi_transfer(struct spi_driver_t *self_p,                     void *rxbuf_p,                     const void *txbuf_p,                     size_t size){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN((rxbuf_p != NULL) || (txbuf_p != NULL), EINVAL);    ASSERTN(size > 0, EINVAL);    return(spi_port_transfer(self_p, rxbuf_p, txbuf_p, size));}
开发者ID:eerimoq,项目名称:simba,代码行数:11,


示例20: pin_init

int pin_init(struct pin_driver_t *self_p,             struct pin_device_t *dev_p,             int mode){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(dev_p != NULL, EINVAL);    self_p->dev_p = dev_p;    return (pin_port_init(self_p, dev_p, mode));}
开发者ID:eerimoq,项目名称:simba,代码行数:11,


示例21: usb_device_write_isr

ssize_t usb_device_write_isr(struct usb_device_driver_t *self_p,                             int endpoint,                             const void *buf_p,                             size_t size){    ASSERTN(self_p != NULL, INVAL);    ASSERTN(endpoint > 0, INVAL);    ASSERTN(buf_p != NULL, INVAL);    ASSERTN(size > 0, INVAL);    return (usb_device_port_write_isr(self_p, endpoint, buf_p, size));}
开发者ID:eerimoq,项目名称:simba,代码行数:12,


示例22: configfile_init

int configfile_init(struct configfile_t *self_p,                    char *buf_p,                    size_t size){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(buf_p != NULL, EINVAL);    ASSERTN(size > 0, EINVAL);    self_p->buf_p = buf_p;    self_p->size = size;    return (0);}
开发者ID:eerimoq,项目名称:simba,代码行数:13,


示例23: bus_listener_init

int bus_listener_init(struct bus_listener_t *self_p,                      int id,                      void *chan_p){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(chan_p != NULL, EINVAL);    self_p->base.key = id;    self_p->id = id;    self_p->chan_p = chan_p;    self_p->next_p = NULL;    return (0);}
开发者ID:eerimoq,项目名称:simba,代码行数:14,


示例24: event_write

ssize_t event_write(struct event_t *self_p,                    const void *buf_p,                    size_t size){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(buf_p != NULL, EINVAL);    ASSERTN(size == sizeof(uint32_t), EINVAL);    sys_lock();    size = event_write_isr(self_p, buf_p, size);    sys_unlock();    return (size);}
开发者ID:eerimoq,项目名称:simba,代码行数:14,


示例25: dac_init

int dac_init(struct dac_driver_t *self_p,             struct dac_device_t *dev_p,             struct pin_device_t *pin0_dev_p,             struct pin_device_t *pin1_dev_p,             int sampling_rate){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(sampling_rate > 0, EINVAL);    return (dac_port_init(self_p,                          dev_p,                          pin0_dev_p,                          pin1_dev_p,                          sampling_rate));}
开发者ID:eerimoq,项目名称:simba,代码行数:15,


示例26: hash_map_add

int hash_map_add(struct hash_map_t *self_p,                 long key,                 void *value_p){    ASSERTN(self_p != NULL, EINVAL);    ASSERTN(value_p != NULL, EINVAL);    int hash;    struct hash_map_bucket_t *bucket_p;    struct hash_map_entry_t *entry_p;    /* Hash key. */    hash = self_p->hash(key);    hash %= self_p->buckets_max;    bucket_p = &self_p->buckets_p[hash];    /* Is the key already in map? */    if (bucket_p->list_p != NULL) {        entry_p = bucket_p->list_p;        while (entry_p != NULL) {            if (entry_p->key == key) {                entry_p->value_p = value_p;                return (0);            }            entry_p = entry_p->next_p;        }    }    /* Allocate new entry. */    entry_p = entry_alloc(self_p);    if (entry_p == NULL) {        return (-ENOMEM);    }    /* Initiate entry.*/    entry_p->key = key;    entry_p->value_p = value_p;    /* Insert in list. */    entry_p->next_p = bucket_p->list_p;    bucket_p->list_p = entry_p;    return (0);}
开发者ID:eerimoq,项目名称:simba,代码行数:48,


示例27: ASSERTN

void *hash_map_get(struct hash_map_t *self_p,                   long key){    ASSERTN(self_p != NULL, EINVAL);    int hash;    struct hash_map_bucket_t *bucket_p;    struct hash_map_entry_t *entry_p;    /* Hash key. */    hash = self_p->hash(key);    hash %= self_p->buckets_max;    bucket_p = &self_p->buckets_p[hash];    /* Search for key. */    if (bucket_p->list_p != NULL) {        entry_p = bucket_p->list_p;                while (entry_p != NULL) {            if (entry_p->key == key) {                return (entry_p->value_p);            }                        entry_p = entry_p->next_p;        }            }    return (NULL);}
开发者ID:eerimoq,项目名称:simba,代码行数:29,


示例28: http_server_start

int http_server_start(struct http_server_t *self_p){    ASSERTN(self_p != NULL, EINVAL);    struct http_server_connection_t *connection_p;    /* Spawn the listener thread. */    self_p->listener_p->thrd.id_p =        thrd_spawn(listener_main,                   self_p,                   0,                   self_p->listener_p->thrd.stack.buf_p,                   self_p->listener_p->thrd.stack.size);    connection_p = self_p->connections_p;    /* Spawn the connection threads. */    while (connection_p->thrd.stack.buf_p != NULL) {        connection_p->thrd.id_p =            thrd_spawn(connection_main,                       connection_p,                       0,                       connection_p->thrd.stack.buf_p,                       connection_p->thrd.stack.size);        connection_p++;    }    return (0);}
开发者ID:eerimoq,项目名称:simba,代码行数:30,


示例29: spi_put

ssize_t spi_put(struct spi_driver_t *self_p,                uint8_t data){    ASSERTN(self_p != NULL, EINVAL);    return (spi_write(self_p, &data, 1));}
开发者ID:eerimoq,项目名称:simba,代码行数:7,


示例30: usb_device_start

int usb_device_start(struct usb_device_driver_t *self_p){    ASSERTN(self_p != NULL, INVAL);    module.driver_p = self_p;    return (usb_device_port_start(self_p));}
开发者ID:eerimoq,项目名称:simba,代码行数:8,



注:本文中的ASSERTN函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ ASSERTP函数代码示例
C++ ASSERTMSG函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。