Vowpal Wabbit
label_parser.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "v_array.h"
4 #include "parse_primitives.h"
5 #include "io_buf.h"
6 
7 struct parser;
8 struct shared_data;
9 
11 {
12  void (*default_label)(void*);
14  void (*cache_label)(void*, io_buf& cache);
15  size_t (*read_cached_label)(shared_data*, void*, io_buf& cache);
16  void (*delete_label)(void*);
17  float (*get_weight)(void*);
18  void (*copy_label)(void*, void*); // copy_label(dst,src) performs a DEEP copy of src into dst (dst is allocated
19  // correctly). if this function is nullptr, then we assume that a memcpy of size
20  // label_size is sufficient, so you need only specify this function if your label
21  // constains, for instance, pointers (otherwise you'll get double-free errors)
22  bool (*test_label)(void*);
23  size_t label_size;
24 };
void(* copy_label)(void *, void *)
Definition: label_parser.h:18
void(* delete_label)(void *)
Definition: label_parser.h:16
void(* default_label)(void *)
Definition: label_parser.h:12
bool(* test_label)(void *)
Definition: label_parser.h:22
float(* get_weight)(void *)
Definition: label_parser.h:17
void(* cache_label)(void *, io_buf &cache)
Definition: label_parser.h:14
void(* parse_label)(parser *, shared_data *, void *, v_array< substring > &)
Definition: label_parser.h:13
Definition: io_buf.h:54
size_t label_size
Definition: label_parser.h:23
Definition: parser.h:38
size_t(* read_cached_label)(shared_data *, void *, io_buf &cache)
Definition: label_parser.h:15