Index   Main   Namespaces   Classes   Hierarchy   Annotated   Files   Compound   Global   Pages  
Public Member Functions | Private Attributes

GoChainCondition Class Reference

Condition that explains why two blocks or chains can be merged into a new, larger chain. More...

#include <GoChain.h>

List of all members.

Public Member Functions

 GoChainCondition (GoChainType type)
 A condition with no parameters.
 GoChainCondition (GoChainType type, SgPoint lib1, SgPoint lib2)
 A condition depending on two liberties.
bool Overlaps (const GoChainCondition &condition) const
 Is there a potential conflict between this and condition?
bool Overlaps (const SgVectorOf< GoChainCondition > &conditions) const
 Is there a potential conflict between this and conditions?
bool UsesLibs () const
 Are liberties used?
GoChainType Type () const
SgPoint Lib1 () const
 first liberty used in condition
SgPoint Lib2 () const
 second liberty used in condition

Private Attributes

GoChainType m_type
 Type.
SgPoint m_lib1
 condition depends on these two liberties
SgPoint m_lib2

Detailed Description

Condition that explains why two blocks or chains can be merged into a new, larger chain.

Definition at line 35 of file GoChain.h.


Constructor & Destructor Documentation

GoChainCondition::GoChainCondition ( GoChainType  type  ) 

A condition with no parameters.

Definition at line 40 of file GoChain.h.

References GO_CHAIN_BY_SEARCH, SG_ASSERT, and SG_NULLPOINT.

GoChainCondition::GoChainCondition ( GoChainType  type,
SgPoint  lib1,
SgPoint  lib2 
)

A condition depending on two liberties.

Definition at line 49 of file GoChain.h.

References GO_CHAIN_TWO_LIBERTIES_IN_REGION, and SG_ASSERT.


Member Function Documentation

SgPoint GoChainCondition::Lib1 (  )  const

first liberty used in condition

Definition at line 70 of file GoChain.h.

References GO_CHAIN_BY_SEARCH, m_lib1, m_type, and SG_ASSERT.

Referenced by GoChain::GoChain(), and operator<<().

SgPoint GoChainCondition::Lib2 (  )  const

second liberty used in condition

Definition at line 77 of file GoChain.h.

References GO_CHAIN_BY_SEARCH, m_lib2, m_type, and SG_ASSERT.

Referenced by GoChain::GoChain(), and operator<<().

bool GoChainCondition::Overlaps ( const SgVectorOf< GoChainCondition > &  conditions  )  const

Is there a potential conflict between this and conditions?

Definition at line 130 of file GoChain.cpp.

References Overlaps().

bool GoChainCondition::Overlaps ( const GoChainCondition condition  )  const

Is there a potential conflict between this and condition?

Definition at line 119 of file GoChain.cpp.

References m_lib1, m_lib2, and UsesLibs().

Referenced by GoChain::GoChain(), and Overlaps().

GoChainType GoChainCondition::Type (  )  const

Definition at line 67 of file GoChain.h.

References m_type.

Referenced by operator<<().

bool GoChainCondition::UsesLibs (  )  const

Are liberties used?

Todo:
make a base class without libs

Definition at line 65 of file GoChain.h.

References m_type.

Referenced by GoChain::GoChain(), operator<<(), and Overlaps().


Member Data Documentation

condition depends on these two liberties

Definition at line 88 of file GoChain.h.

Referenced by Lib1(), and Overlaps().

Definition at line 88 of file GoChain.h.

Referenced by Lib2(), and Overlaps().

Type.

Todo:
replace by class

Definition at line 85 of file GoChain.h.

Referenced by Lib1(), Lib2(), Type(), and UsesLibs().


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


Sun Mar 13 2011 Doxygen 1.7.1