BloombergLP::ball::Rule

This class defines a value-semantic object that holds a pattern, four threshold levels, and an attribute set. For each of these fields there is an accessor for obtaining the field value and a manipulator for changing that value. There are a few methods as well for directly adding/removing/searching attributes.

Synopsis

Declared in <ball_rule.h>

class Rule;

Description

Additionally, this class supports a complete set of value semantic operations, including copy construction, assignment and equality comparison, and ostream printing. A precise operational definition of when two instances have the same value can be found in the description of operator== for the class. This class is exception neutral with no guarantee of rollback: If an exception is thrown during the invocation of a method on a pre-existing instance, the object is left in a valid state, but its value is undefined. In no event is memory leaked. Finally, aliasing (e.g., using all or part of an object as both source and destination) is supported in all cases.

Member Functions

NameDescription
Rule [constructor]Constructors
operator= Assign to this object the value of the specified rhs object.
addAttribute Add an attribute having the specified value to this object. Return 1 on success and 0 if an attribute having the same value already exists in this object.
addPredicate DEPRECATED: Use addAttribute instead.
begin Return an iterator referring to the first member of the attribute set maintained by this object.
end Return an iterator referring to one past the last member of the attribute set maintained by this object.
evaluate Return true if for every attribute maintained by this object, an attribute with the same name and value exists in the specified containerList; and false otherwise.
hasAttribute Return true if an attribute having specified value exists in this object, and false otherwise.
hasPredicate DEPRECATED: Use hasAttribute instead.
isMatch Return true if the specified inputString matches the pattern of this rule, and false otherwise. (For the definition of a string matching the pattern of a rule, please refer to the function-level documentation associated with the PatternUtil::isMatch function).
numAttributes Return the number of attributes managed by this object.
numPredicates DEPRECATED: Use numAttributes instead.
passLevel Return the pass level of this object.
pattern Return the pattern of this object.
print Format this object to the specified output stream at the (absolute value of) the optionally specified indentation level and return a reference to stream. If level is specified, optionally specify spacesPerLevel, the number of spaces per indentation level for this and all of its nested objects. If level is negative, suppress indentation of the first line. If spacesPerLevel is negative, format the entire output on one line, suppressing all but the initial indentation (as governed by level). If stream is not valid on entry, this operation has no effect.
recordLevel Return the record level of this object.
removeAll Remove all attributes from this rule.
removeAllPredicates DEPRECATED: Use removeAll instead.
removeAttribute Remove the attribute having the specified value from this object. Return the number of attributes being removed (i.e., 1 on success and 0 if no attribute having value exists in this object).
removePredicate DEPRECATED: Use removeAttribute instead.
setLevels Set the threshold levels of this object to the specified recordLevel, passLevel, triggerLevel, and triggerAllLevel values, respectively, if each of the specified values is in the range [0 .. 255]. Return 0 on success, and a non-zero value otherwise (with no effect on the threshold levels of this object).
setPattern Set the pattern of this object to the specified value.
triggerAllLevel Return the trigger-all level of this object.
triggerLevel Return the trigger level of this object.
operator BloombergLP::bslmf::NestedTraitDeclaration<Rule, UsesBslmaAllocator> Declare that this type uses a bslma allocator.

Static Member Functions

NameDescription
hash Return a hash value calculated from the specified rule using the specified size as the number of slots. The value returned is guaranteed to be in the range [0 .. size - 1]. The behavior is undefined unless 0 < size.

Friends

NameDescription
BloombergLP::ball::operator<<Write the value of the specified rule to the specified output stream. Return the specified output stream.
BloombergLP::ball::operator!=Return true if the specified lhs and rhs objects do not have the same value, and false otherwise. Two Rule objects do not have the same value if they have different attributes, different values for any of the four respective threshold levels, or different patterns.
BloombergLP::ball::operator==Return true if the specified lhs and rhs objects have the same value, and false otherwise. Two Rule objects have the same value if they have the same attributes, the same four respective threshold levels, and the same pattern.