Awali
Another Weighted Automata library
Data Structures | Namespaces | Macros
kind.hh File Reference
#include <istream>
#include <stdexcept>
#include <type_traits>
#include <awali/sttc/misc/escape.hh>

Go to the source code of this file.

Data Structures

struct  awali::sttc::labels_are_letters
 marker type for labelsets where labels are letters More...
 
struct  awali::sttc::labels_are_nullable
 marker type for labelsets where labels are nullable More...
 
struct  awali::sttc::labels_are_one
 marker type for labelsets where labels are one More...
 
struct  awali::sttc::labels_are_ratexps
 marker type for labelsets where labels are rational expressions More...
 
struct  awali::sttc::labels_are_tuples
 marker type for labelsets where labels are tuples More...
 
struct  awali::sttc::labels_are_words
 marker type for labelsets where labels are words More...
 

Namespaces

 awali
 Main namespace of Awali.
 
 awali::sttc
 Namespace for the static layer of Awali.
 

Macros

#define DEFINE(Abbrev, Name)
 Define the kinds, and auxiliary tools. More...
 

Macro Definition Documentation

◆ DEFINE

#define DEFINE (   Abbrev,
  Name 
)

Define the kinds, and auxiliary tools.

is_ABBREV<Kinded>: Whether Kinded has a specific kind_t

if_ABBREV<Kinded, R = Kinded>: Provide "overloading" on parameter types, for instance to require letter_t when labels_are_letters, and word_t when labels_are_words. See ratexpset::atom and ratexpset::atom_ for an example.

It is very tempting to turns these guys into members of context, but then, instead of "(if_lal<Ctx, letter_t> v)", one must write "(typename Cxx::template if_lal<letter_t> v)".