BRL-CAD
avs.h File Reference
#include "common.h"
#include <stddef.h>
#include "bu/defines.h"
#include "bu/magic.h"
#include "bu/vls.h"
Include dependency graph for avs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  bu_attribute_value_pair
 
struct  bu_attribute_value_set
 

Macros

#define BU_AVS_NULL   ((struct bu_attribute_value_set *)0)
 
#define BU_CK_AVS(_ap)   BU_CKMAG(_ap, BU_AVS_MAGIC, "bu_attribute_value_set")
 
#define BU_AVS_INIT(_ap)
 
#define BU_AVS_INIT_ZERO   { BU_AVS_MAGIC, 0, 0, NULL, NULL, NULL }
 
#define BU_AVS_IS_INITIALIZED(_ap)   (((struct bu_attribute_value_set *)(_ap) != BU_AVS_NULL) && LIKELY((_ap)->magic == BU_AVS_MAGIC))
 
#define BU_AVS_FOR(_pp, _avp)   (_pp) = ((const void *)(_avp) != (const void *)NULL) ? ((_avp)->count > 0 ? &(_avp)->avp[(_avp)->count-1] : NULL) : NULL; ((const void *)(_pp) != (const void *)NULL) && ((const void *)(_avp) != (const void *)NULL) && (_avp)->avp && (_pp) >= (_avp)->avp; (_pp)--
 
#define AVS_IS_FREEABLE(_avsp, _p)
 

Typedefs

typedef struct bu_attribute_value_set bu_avs_t
 

Enumerations

enum  bu_attr_time_t { BU_ATTR_CREATED, BU_ATTR_MODIFIED }
 

Functions

void bu_avs_init (struct bu_attribute_value_set *avp, size_t len, const char *str)
 
void bu_avs_init_empty (struct bu_attribute_value_set *avp)
 
struct bu_attribute_value_setbu_avs_new (size_t len, const char *str)
 
int bu_avs_add (struct bu_attribute_value_set *avp, const char *attribute, const char *value)
 
int bu_avs_add_vls (struct bu_attribute_value_set *avp, const char *attribute, const struct bu_vls *value_vls)
 
void bu_avs_add_nonunique (struct bu_attribute_value_set *avsp, const char *attribute, const char *value)
 
void bu_avs_merge (struct bu_attribute_value_set *dest, const struct bu_attribute_value_set *src)
 
const char * bu_avs_get (const struct bu_attribute_value_set *avp, const char *attribute)
 
int bu_avs_remove (struct bu_attribute_value_set *avp, const char *attribute)
 
void bu_avs_free (struct bu_attribute_value_set *avp)
 
void bu_avs_print (const struct bu_attribute_value_set *avp, const char *title)