emu_graph.h File Reference

#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include "emu/emu_list.h"
Include dependency graph for emu_graph.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  emu_edge
struct  emu_vertex
struct  emu_graph

Typedefs

typedef void(* emu_graph_destructor )(void *data)

Enumerations

enum  emu_color {
  black, blue, cyan, green,
  grey, magenta, red, white,
  yellow
}

Functions

 header_list_typedefs (emu_edge_root, emu_edge, emu_edge_link)
 header_list_functions (emu_edges, emu_edge_root, emu_edge, link)
struct emu_edgeemu_edge_new (void)
void emu_edge_free (struct emu_edge *ee)
 header_list_typedefs (emu_vertex_root, emu_vertex, emu_vertex_link)
 header_list_functions (emu_vertexes, emu_vertex_root, emu_vertex, link)
struct emu_vertexemu_vertex_new (void)
void emu_vertex_free (struct emu_vertex *ev)
void emu_vertex_data_set (struct emu_vertex *ev, void *data)
void * emu_vertex_data_get (struct emu_vertex *ev)
struct emu_edgeemu_vertex_edge_add (struct emu_vertex *ev, struct emu_vertex *to)
struct emu_graphemu_graph_new (void)
void emu_graph_free (struct emu_graph *eg)
void emu_graph_vertex_add (struct emu_graph *eg, struct emu_vertex *ev)
bool emu_graph_path_exists (struct emu_graph *eg, struct emu_vertex *from, struct emu_vertex *to)
bool emu_graph_loop_detect (struct emu_graph *eg, struct emu_vertex *from)
int32_t emu_graph_distance (struct emu_graph *eg, struct emu_vertex *from, struct emu_vertex *to)

Typedef Documentation

typedef void(* emu_graph_destructor)(void *data)

Enumeration Type Documentation

enum emu_color
Enumerator:
black 
blue 
cyan 
green 
grey 
magenta 
red 
white 
yellow 

Function Documentation

void emu_edge_free ( struct emu_edge ee  ) 
struct emu_edge* emu_edge_new ( void   )  [read]

Referenced by emu_vertex_edge_add().

int32_t emu_graph_distance ( struct emu_graph eg,
struct emu_vertex from,
struct emu_vertex to 
)

References emu_vertex::distance, and emu_graph_path_exists().

Here is the call graph for this function:

void emu_graph_free ( struct emu_graph eg  ) 
bool emu_graph_loop_detect ( struct emu_graph eg,
struct emu_vertex from 
)
struct emu_graph* emu_graph_new ( void   )  [read]
bool emu_graph_path_exists ( struct emu_graph eg,
struct emu_vertex from,
struct emu_vertex to 
)
void emu_graph_vertex_add ( struct emu_graph eg,
struct emu_vertex ev 
)
void* emu_vertex_data_get ( struct emu_vertex ev  ) 

References emu_vertex::data.

void emu_vertex_data_set ( struct emu_vertex ev,
void *  data 
)

References emu_vertex::data.

struct emu_edge* emu_vertex_edge_add ( struct emu_vertex ev,
struct emu_vertex to 
) [read]
void emu_vertex_free ( struct emu_vertex ev  ) 
struct emu_vertex* emu_vertex_new ( void   )  [read]
header_list_functions ( emu_vertexes  ,
emu_vertex_root  ,
emu_vertex  ,
link   
)
header_list_functions ( emu_edges  ,
emu_edge_root  ,
emu_edge  ,
link   
)
header_list_typedefs ( emu_vertex_root  ,
emu_vertex  ,
emu_vertex_link   
)
header_list_typedefs ( emu_edge_root  ,
emu_edge  ,
emu_edge_link   
)

Generated on Sun Jan 9 16:48:06 2011 for libemu by  doxygen 1.6.1