SheafSystem  0.0.0.0
fields::depth_bound_refinement_policy Class Reference

A policy that determines a zone should be refined if the refinement depth is less than a given upper bound. Intended mostly for use debugging the refinement machinery. More...

#include <depth_bound_refinement_policy.h>

Inheritance diagram for fields::depth_bound_refinement_policy:
fields::field_refinement_policy sheaf::any

DEPTH_BOUND_REFINEMENT_POLICY FACET

 depth_bound_refinement_policy (size_type xrefinement_level_ub=2)
 Creates an instance with refinement upper bound xrefinement_ub. More...
 
 depth_bound_refinement_policy (const depth_bound_refinement_policy &xother)
 Copy constructor. More...
 
virtual ~depth_bound_refinement_policy ()
 Destructor. More...
 

FIELD_REFINEMENT_POLICY FACET

virtual bool should_refine (field_refinement_buffer &xbuffer, size_type xrefinement_depth) const
 True if the zone specified by xzone_id should be refined. More...
 
virtual const std::string & class_name () const
 The class name of this. More...
 
static const std::string & static_class_name ()
 The class name of this class. More...
 

ANY FACET

virtual bool is_ancestor_of (const any *other) const
 Conformance test; true if other conforms to this. More...
 
virtual depth_bound_refinement_policyclone () const
 Virtual constructor, makes a new instance of the same type as this. More...
 
virtual depth_bound_refinement_policyoperator= (const field_refinement_policy &xother)
 Assignment operator. More...
 
depth_bound_refinement_policyoperator= (const depth_bound_refinement_policy &xother)
 Assignment operator. More...
 
virtual bool invariant () const
 Class invariant. More...
 

Additional Inherited Members

- Public Member Functions inherited from fields::field_refinement_policy
virtual ~field_refinement_policy ()
 Destructor. More...
 
size_type refinement_depth_ub () const
 The upper bound on the refinement depth of a cell. A cell will not be refined if its refinement depth is equal to or greater than the upper bound. More...
 
void put_refinement_depth_ub (size_type xub)
 Set the refinement depth upper bound to xub. More...
 
- Public Member Functions inherited from sheaf::any
bool is_same_type (const any *other) const
 True if other is the same type as this. More...
 
virtual ~any ()
 Destructor. More...
 
bool invariant_check () const
 True if invariant checking is enabled. More...
 
void enable_invariant_check () const
 Enable invariant checking. More...
 
void disable_invariant_check () const
 Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More...
 
int disable_invariance_check_request_depth () const
 Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More...
 
- Static Public Member Functions inherited from fields::field_refinement_policy
static const std::string & static_class_name ()
 The class name of this class. More...
 
static field_refinement_policynew_policy (const std::string &xname)
 Creates an instance of the policy with class name xname. More...
 
static factory< field_refinement_policy > & policy_factory ()
 A factory for making policy objects. More...
 
- Protected Member Functions inherited from fields::field_refinement_policy
 field_refinement_policy (size_type xrefinement_depth_ub)
 Creates an instance with reinement upper bound xrefinement_ub. More...
 
 field_refinement_policy (const field_refinement_policy &xother)
 Copy constructor. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 
- Protected Attributes inherited from fields::field_refinement_policy
size_type _refinement_depth_ub
 The upper bound and the refinement level of a cell. More...
 

Detailed Description

A policy that determines a zone should be refined if the refinement depth is less than a given upper bound. Intended mostly for use debugging the refinement machinery.

Definition at line 40 of file depth_bound_refinement_policy.h.

Constructor & Destructor Documentation

◆ depth_bound_refinement_policy() [1/2]

fields::depth_bound_refinement_policy::depth_bound_refinement_policy ( size_type  xrefinement_level_ub = 2)

Creates an instance with refinement upper bound xrefinement_ub.

Postcondition

Definition at line 38 of file depth_bound_refinement_policy.cc.

References invariant(), and fields::field_refinement_policy::refinement_depth_ub().

Referenced by clone(), and ~depth_bound_refinement_policy().

◆ depth_bound_refinement_policy() [2/2]

fields::depth_bound_refinement_policy::depth_bound_refinement_policy ( const depth_bound_refinement_policy xother)

Copy constructor.

Postcondition

Definition at line 60 of file depth_bound_refinement_policy.cc.

References invariant(), and ~depth_bound_refinement_policy().

◆ ~depth_bound_refinement_policy()

fields::depth_bound_refinement_policy::~depth_bound_refinement_policy ( )
virtual

Member Function Documentation

◆ class_name()

const std::string & fields::depth_bound_refinement_policy::class_name ( ) const
virtual

The class name of this.

Reimplemented from fields::field_refinement_policy.

Definition at line 162 of file depth_bound_refinement_policy.cc.

References static_class_name().

Referenced by should_refine().

◆ clone()

fields::depth_bound_refinement_policy * fields::depth_bound_refinement_policy::clone ( ) const
virtual

Virtual constructor, makes a new instance of the same type as this.

Postcondition
  • result != 0
  • is_same_type(result)

Implements fields::field_refinement_policy.

Definition at line 229 of file depth_bound_refinement_policy.cc.

References depth_bound_refinement_policy(), sheaf::any::is_same_type(), and operator=().

Referenced by is_ancestor_of().

◆ invariant()

bool fields::depth_bound_refinement_policy::invariant ( ) const
virtual

◆ is_ancestor_of()

bool fields::depth_bound_refinement_policy::is_ancestor_of ( const any other) const
virtual

Conformance test; true if other conforms to this.

Precondition
  • other != 0

Reimplemented from fields::field_refinement_policy.

Definition at line 209 of file depth_bound_refinement_policy.cc.

References clone().

Referenced by operator=(), and static_class_name().

◆ operator=() [1/2]

fields::depth_bound_refinement_policy & fields::depth_bound_refinement_policy::operator= ( const field_refinement_policy xother)
virtual

Assignment operator.

Precondition
  • is_ancestor_of(&xother)
Not Implemented.
Postcondition

Reimplemented from fields::field_refinement_policy.

Definition at line 252 of file depth_bound_refinement_policy.cc.

References invariant(), and is_ancestor_of().

Referenced by clone().

◆ operator=() [2/2]

fields::depth_bound_refinement_policy & fields::depth_bound_refinement_policy::operator= ( const depth_bound_refinement_policy xother)

Assignment operator.

Postcondition

Definition at line 274 of file depth_bound_refinement_policy.cc.

References fields::field_refinement_policy::_refinement_depth_ub, and invariant().

◆ should_refine()

bool fields::depth_bound_refinement_policy::should_refine ( field_refinement_buffer xbuffer,
size_type  xrefinement_depth 
) const
virtual

True if the zone specified by xzone_id should be refined.

Precondition
  • xbuffer.source.state_is_read_accessible()
  • xbuffer.target.state_is_read_accessible()
  • xbuffer.target.same_evaluation()
Postcondition

Implements fields::field_refinement_policy.

Definition at line 137 of file depth_bound_refinement_policy.cc.

References fields::field_refinement_policy::_refinement_depth_ub, class_name(), fields::field_refinement_policy::refinement_depth_ub(), fields::field_vd::same_evaluation(), fields::field_refinement_buffer::source, fields::field_vd::state_is_read_accessible(), and fields::field_refinement_buffer::target.

Referenced by ~depth_bound_refinement_policy().

◆ static_class_name()

const std::string & fields::depth_bound_refinement_policy::static_class_name ( )
static

The class name of this class.

Definition at line 182 of file depth_bound_refinement_policy.cc.

References is_ancestor_of().

Referenced by class_name(), and ~depth_bound_refinement_policy().


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