DiaDes  0.1
DIAgnosisofDiscrete-EventSystem
Public Member Functions | Private Attributes | List of all members
Diades::Altarica::DomainFactory Class Reference

#include <Domains.hh>

Public Member Functions

 DomainFactory (AltaricaModel &model)
 
void init ()
 
void clear ()
 
 ~DomainFactory ()
 
const DomainnullDomain () const
 
const DomaingetBooleans () const
 
const DomaingetIntegers () const
 
const DomainnewDomain (const NodeDecl &nodeDecl)
 
const DomainnewDomain (const Identifier &name, const Domain &associatedDomain, NodeDecl &nodeDecl)
 
const DomainnewDomain (const Identifier &name, const Value &min, const Value &max, NodeDecl &nodeDecl)
 
const DomainnewDomain (const Identifier &name, const ValueEnumeration &enumeration, NodeDecl &nodeDecl)
 
const DomainnewDomain (const Identifier &name, const Domain::StructureFields &structure, NodeDecl &nodeDecl)
 
const DomainnewDomain (const Identifier &name, const Domain &domain, unsigned size, NodeDecl &nodeDecl)
 
const AltaricaModelowner () const
 
AltaricaModelowner ()
 

Private Attributes

AltaricaModel_owner
 
vector< map< Identifier, Domain::ConstPointer > > _nodeDeclDomains
 
vector< map< Identifier, bool > > _referenceDomains
 
vector< Domain::Pointer_basicDomains
 

Exception

Exception mechanism

typedef Utils::Exception< DomainFactoryException
 
static string typeName ()
 

Detailed Description

Factory to create new Domain objects

Definition at line 868 of file Domains.hh.

Member Typedef Documentation

◆ Exception

Definition at line 875 of file Domains.hh.

Constructor & Destructor Documentation

◆ DomainFactory()

Diades::Altarica::DomainFactory::DomainFactory ( AltaricaModel model)

Default constructor

◆ ~DomainFactory()

Diades::Altarica::DomainFactory::~DomainFactory ( )

Destructor

Member Function Documentation

◆ clear()

void Diades::Altarica::DomainFactory::clear ( )

◆ getBooleans()

const Domain& Diades::Altarica::DomainFactory::getBooleans ( ) const
inline
Returns
the boolean domain

Definition at line 909 of file Domains.hh.

Referenced by Diades::Altarica::AltaricaModel::getBooleans().

◆ getIntegers()

const Domain& Diades::Altarica::DomainFactory::getIntegers ( ) const
inline
Returns
the integer domain

Definition at line 914 of file Domains.hh.

Referenced by Diades::Altarica::AltaricaModel::getIntegers().

◆ init()

void Diades::Altarica::DomainFactory::init ( )

◆ newDomain() [1/6]

const Domain& Diades::Altarica::DomainFactory::newDomain ( const NodeDecl nodeDecl)

Node Domain constructor

Parameters
nodeDeclthe nodeDecl
Returns
the Structured Domain of the NodeDecl

◆ newDomain() [2/6]

const Domain& Diades::Altarica::DomainFactory::newDomain ( const Identifier name,
const Domain associatedDomain,
NodeDecl nodeDecl 
)

Reference Domain constructor

Parameters
namean Identifier that represents a Domain (if name is empty, it is considered as a shadow domain)
associatedDomainthe Domain associated to the Identifier name
nodeDeclthe NodeDecl where this Domain is declared
Returns
a Domain defined by the Identifier name that is equivalent to the Domain associatedDomain

◆ newDomain() [3/6]

const Domain& Diades::Altarica::DomainFactory::newDomain ( const Identifier name,
const Value min,
const Value max,
NodeDecl nodeDecl 
)

Integer Range Domain constructor

Parameters
namean Identifier that represents a Domain (if name is empty, it is considered as a shadow domain)
minthe minimal integer bound
maxthe maximal integer bound
nodeDeclthe NodeDecl where this Domain is declared
Returns
the integer Domain [min,max]

◆ newDomain() [4/6]

const Domain& Diades::Altarica::DomainFactory::newDomain ( const Identifier name,
const ValueEnumeration enumeration,
NodeDecl nodeDecl 
)

Finite Enumeration Domain constructor

Parameters
namean Identifier that represents a Domain (if name is empty, it is considered as a shadow domain)
enumerationthe set of Value objects in the enumeration
nodeDeclthe NodeDecl where this Domain is declared
Returns
an enumeration Domain

◆ newDomain() [5/6]

const Domain& Diades::Altarica::DomainFactory::newDomain ( const Identifier name,
const Domain::StructureFields structure,
NodeDecl nodeDecl 
)

Structure Domain constructor

Parameters
namean Identifier that represents a Domain (if name is empty, it is considered as a shadow domain)
structurethe underlying structure of this Domain
nodeDeclthe NodeDecl where this Domain is declared
Returns
the corresponding structured Domain

◆ newDomain() [6/6]

const Domain& Diades::Altarica::DomainFactory::newDomain ( const Identifier name,
const Domain domain,
unsigned  size,
NodeDecl nodeDecl 
)

Array Domain constructor

Parameters
namean Identifier that represents a Domain (if name is empty, it is considered as a shadow domain)
domainthe domain of any Variable contained in the array
thesize of the array domain
nodeDeclthe NodeDecl where this Domain is declared
Returns
the corresponding array Domain.

◆ nullDomain()

const Domain& Diades::Altarica::DomainFactory::nullDomain ( ) const
inline

Definition at line 904 of file Domains.hh.

Referenced by Diades::Altarica::AltaricaModel::nullDomain().

◆ owner() [1/2]

const AltaricaModel& Diades::Altarica::DomainFactory::owner ( ) const

Return the owner of the factory

Returns
the AltaricaModel that owns this factory.

◆ owner() [2/2]

AltaricaModel& Diades::Altarica::DomainFactory::owner ( )

Return the owner of the factory

Returns
the AltaricaModel that owns this factory.

◆ typeName()

static string Diades::Altarica::DomainFactory::typeName ( )
inlinestatic

Definition at line 876 of file Domains.hh.

Member Data Documentation

◆ _basicDomains

vector< Domain::Pointer > Diades::Altarica::DomainFactory::_basicDomains
private

Definition at line 883 of file Domains.hh.

◆ _nodeDeclDomains

vector< map<Identifier,Domain::ConstPointer> > Diades::Altarica::DomainFactory::_nodeDeclDomains
private

Definition at line 881 of file Domains.hh.

◆ _owner

AltaricaModel& Diades::Altarica::DomainFactory::_owner
private

Definition at line 880 of file Domains.hh.

◆ _referenceDomains

vector< map<Identifier,bool> > Diades::Altarica::DomainFactory::_referenceDomains
private

Definition at line 882 of file Domains.hh.


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