Awali
Another Weighted Automata library
Data Structures | Namespaces | Macros | Functions
nullableset.hh File Reference
#include <cstring>
#include <memory>
#include <set>
#include <sstream>
#include <awali/sttc/alphabets/setalpha.hh>
#include <awali/sttc/core/kind.hh>
#include <awali/sttc/labelset/fwd.hh>
#include <awali/sttc/misc/escape.hh>
#include <awali/utils/hash.hh>
#include <awali/common/json/node.cc>
#include <awali/common/parse_exception.cc>
#include <awali/sttc/misc/raise.hh>

Go to the source code of this file.

Data Structures

struct  awali::sttc::internal::nullable_helper< LabelSet >
 Add support for an empty word to a LabelSet that does not provide such special label to this end. More...
 
struct  awali::sttc::internal::nullable_helper< letterset< GenSet > >
 Add support for an empty word to a letterset thanks to the one() of its genset. More...
 
class  awali::sttc::nullableset< LabelSet >
 Implementation of labels are nullables (letter or empty). More...
 

Namespaces

 awali
 Main namespace of Awali.
 
 awali::sttc
 Namespace for the static layer of Awali.
 
 awali::sttc::internal
 Implementation details of static layer (not stable).
 

Macros

#define DEFINE(Func, Operation, Lhs, Rhs, Res)
 

Functions

template<typename GenSet >
nullableset< letterset< GenSet > > awali::sttc::join (const letterset< GenSet > &lhs, const nullableset< letterset< GenSet >> &rhs)
 
template<typename GenSet >
nullableset< letterset< GenSet > > awali::sttc::join (const nullableset< letterset< GenSet >> &lhs, const letterset< GenSet > &rhs)
 
template<typename GenSet >
nullableset< letterset< GenSet > > awali::sttc::join (const nullableset< letterset< GenSet >> &lhs, const nullableset< letterset< GenSet >> &rhs)
 compute the join with another labelset. More...
 
template<typename Lls , typename Rls >
auto awali::sttc::join (const nullableset< Lls > &lhs, const nullableset< Rls > &rhs) -> nullableset< decltype(join(*lhs.labelset(), *rhs.labelset()))>
 
template<typename GenSet >
nullableset< letterset< GenSet > > awali::sttc::meet (const letterset< GenSet > &lhs, const nullableset< letterset< GenSet >> &rhs)
 
template<typename GenSet >
nullableset< letterset< GenSet > > awali::sttc::meet (const nullableset< letterset< GenSet >> &lhs, const letterset< GenSet > &rhs)
 
template<typename GenSet >
nullableset< letterset< GenSet > > awali::sttc::meet (const nullableset< letterset< GenSet >> &lhs, const nullableset< letterset< GenSet >> &rhs)
 Compute the meet with another labelset. More...
 
template<typename Lls , typename Rls >
auto awali::sttc::meet (const nullableset< Lls > &lhs, const nullableset< Rls > &rhs) -> nullableset< decltype(meet(*lhs.labelset(), *rhs.labelset()))>
 

Macro Definition Documentation

◆ DEFINE

#define DEFINE (   Func,
  Operation,
  Lhs,
  Rhs,
  Res 
)
Value:
template <typename GenSet> \
Res \
Func(const Lhs& lhs, const Rhs& rhs) \
{ \
return {Operation(lhs.genset(), rhs.genset())}; \
}