Lumiera  0.pre.03
»edityourfreedom«
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
lumiera::advice Namespace Reference

Namespaces

 test
 

Classes

class  ActiveProvision
 Piece of Advice as incorporated into the AdviceSystem. More...
 
class  AdviceLink
 Advice Collaboration partner, internally connected to the AdviceSystem. More...
 
class  Binding
 Conjunction of predicates to be matched against a collaboration partner for establishing an Advice connection. More...
 
class  Index
 Index datastructure for organising advice solutions. More...
 
class  PointOfAdvice
 Basic (abstracted) view of an advice collaboration partner, as used internally by the AdviceSystem to manage the participants. More...
 
class  Provision
 Access point for the advising entity (server). More...
 
class  Request
 Access point for the advised entity (client). More...
 

Functions

HashVal hash_value (Binding::Matcher const &bm)
 
HashVal hash_value (Binding const &bi)
 
 LUMIERA_ERROR_DECLARE (BINDING_PATTERN_SYNTAX)
 Unable to parse the given binding pattern definition. More...
 
 LUMIERA_ERROR_DEFINE (BINDING_PATTERN_SYNTAX,"Unable to parse the given binding pattern definition")
 
bool matches (Binding const &b1, Binding const &b2)
 
bool matches (Binding::Matcher const &m1, Binding::Matcher const &m2)
 
bool operator!= (Binding const &b1, Binding const &b2)
 
bool operator== (Binding const &b1, Binding const &b2)
 bindings are considered equivalent if, after normalisation, their respective definitions are identical. More...
 

Function Documentation

lumiera::advice::LUMIERA_ERROR_DEFINE ( BINDING_PATTERN_SYNTAX  ,
"Unable to parse the given binding pattern definition"   
)
bool lumiera::advice::operator== ( Binding const &  b1,
Binding const &  b2 
)

bindings are considered equivalent if, after normalisation, their respective definitions are identical.

Note
for bindings without variable arguments, equivalence and matching always yield the same results. Contrary to this, two bindings with some variable arguments could match, without being defined identically. For example pred(X) matches pred(u) or any other binding of the form pred(<constant_value>) ////TICKET #615 not yet implemented

Definition at line 182 of file common/advice/binding.cpp.

References Binding::atoms_.

lumiera::advice::LUMIERA_ERROR_DECLARE ( BINDING_PATTERN_SYNTAX  )

Unable to parse the given binding pattern definition.

bool lumiera::advice::operator!= ( Binding const &  b1,
Binding const &  b2 
)
inline

Definition at line 239 of file common/advice/binding.hpp.

bool lumiera::advice::matches ( Binding const &  b1,
Binding const &  b2 
)
inline

Definition at line 246 of file common/advice/binding.hpp.

References Binding::buildMatcher(), and Binding::Matcher::matches().

Referenced by GenNodeBasic_test::equalityMatch(), AdviceBindingPattern_test::verifyDynamicMatch(), AdviceBindingPattern_test::verifyPreparedMatch(), and AdviceBindingPattern_test::verifyStaticMatch().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool lumiera::advice::matches ( Binding::Matcher const &  m1,
Binding::Matcher const &  m2 
)
inline

Definition at line 252 of file common/advice/binding.hpp.

References Binding::Matcher::matches().

+ Here is the call graph for this function:

HashVal lumiera::advice::hash_value ( Binding::Matcher const &  bm)
inline
HashVal lumiera::advice::hash_value ( Binding const &  bi)
inline

Definition at line 287 of file common/advice/binding.hpp.

References Binding::calculateHash().

+ Here is the call graph for this function: