Vcsn  2.3
Be Rational
nullableset.hh File Reference
#include <memory>
#include <set>
#include <sstream>
#include <vcsn/alphabets/setalpha.hh>
#include <vcsn/core/kind.hh>
#include <vcsn/labelset/fwd.hh>
#include <vcsn/labelset/genset-labelset.hh>
#include <vcsn/labelset/labelset.hh>
#include <vcsn/labelset/oneset.hh>
#include <vcsn/misc/escape.hh>
#include <vcsn/misc/functional.hh>
#include <vcsn/misc/raise.hh>
Include dependency graph for nullableset.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  vcsn::detail::nullable_helper< LabelSet >
 Add support for an empty word to a LabelSet that does not provide such special label to this end. More...
 
struct  vcsn::detail::nullable_helper< letterset< GenSet > >
 Add support for an empty word to a letterset thanks to the one() of its genset. More...
 
class  vcsn::nullableset< LabelSet >
 Implementation of labels are nullables (letter or empty). More...
 
struct  vcsn::detail::letterized_traits< nullableset< LabelSet > >
 Conversion to letterized. More...
 
struct  vcsn::detail::nullableset_traits< nullableset< LabelSet > >
 Conversion for nullable<LabelSet> to a nullableset: id. More...
 
struct  vcsn::detail::proper_traits< nullableset< LabelSet > >
 
struct  vcsn::detail::law_traits< nullableset< LabelSet > >
 Conversion for nullable<LabelSet> to a super wordset. More...
 
struct  vcsn::detail::join_impl< nullableset< LS1 >, LS2 >
 The join with another labelset. More...
 
struct  vcsn::detail::join_impl< nullableset< LS1 >, nullableset< LS2 > >
 The join with another labelset. More...
 

Namespaces

 vcsn
 
 vcsn::detail
 

Macros

#define DEFINE(Lhs, Rhs, Res)
 

Functions

template<typename GenSet >
nullableset< letterset< GenSet > > vcsn::meet (const nullableset< letterset< GenSet >> &lhs, const nullableset< letterset< GenSet >> &rhs)
 Compute the meet with another labelset. More...
 
template<typename GenSet >
nullableset< letterset< GenSet > > vcsn::meet (const letterset< GenSet > &lhs, const nullableset< letterset< GenSet >> &rhs)
 
template<typename GenSet >
nullableset< letterset< GenSet > > vcsn::meet (const nullableset< letterset< GenSet >> &lhs, const letterset< GenSet > &rhs)
 
template<typename Lls , typename Rls >
nullableset< meet_t< Lls, Rls > > vcsn::meet (const nullableset< Lls > &lhs, const nullableset< Rls > &rhs)
 

Macro Definition Documentation

#define DEFINE (   Lhs,
  Rhs,
  Res 
)
Value:
template <typename GenSet> \
meet(const Lhs& lhs, const Rhs& rhs) \
{ \
return {set_intersection(*lhs.genset(), *rhs.genset())}; \
}
Container set_intersection(const Container &s1, const Container &s2)
The intersection of two sets.
Definition: algorithm.hh:184
nullableset< meet_t< Lls, Rls > > meet(const nullableset< Lls > &lhs, const nullableset< Rls > &rhs)
Definition: nullableset.hh:684

Definition at line 664 of file nullableset.hh.