ProvSQL C/C++ API
Adding support for provenance and uncertainty management to PostgreSQL databases
Loading...
Searching...
No Matches
provsql::DistributionFamily Struct Reference

A registered family's descriptor: its complete identity. More...

#include "Distribution.h"

Public Attributes

const char * name
unsigned nparams
 1 or 2 (a 1-parameter family leaves p2 = 0)
const char * label
const char * param_names [2]
DistributionFactory factory

Detailed Description

A registered family's descriptor: its complete identity.

name is the on-disk token (the part before the colon in a gate_rv extra); factory constructs an instance from the parsed parameters; label / param_names are the display metadata UI clients (ProvSQL Studio) read through provsql.rv_families() – a short glance-recognisable glyph for a node circle (e.g. "N", "Exp", "Γ") and the conventional parameter symbols in extra order (e.g. {"μ", "σ"}; the second entry is nullptr for a 1-parameter family). Purely presentational choices beyond these (colours, geometry) stay client-side.

Each family implementation file defines exactly ONE descriptor with static storage duration and registers its address, so the pointer is an interned family identity (this is what DistributionSpec and Distribution::family() carry; there is no family enum to extend).

Definition at line 286 of file Distribution.h.

Member Data Documentation

◆ factory

DistributionFactory provsql::DistributionFamily::factory

Definition at line 291 of file Distribution.h.

◆ label

const char* provsql::DistributionFamily::label

Definition at line 289 of file Distribution.h.

◆ name

const char* provsql::DistributionFamily::name

Definition at line 287 of file Distribution.h.

◆ nparams

unsigned provsql::DistributionFamily::nparams

1 or 2 (a 1-parameter family leaves p2 = 0)

Definition at line 288 of file Distribution.h.

◆ param_names

const char* provsql::DistributionFamily::param_names[2]

Definition at line 290 of file Distribution.h.


The documentation for this struct was generated from the following file: