Index   Main   Namespaces   Classes   Hierarchy   Annotated   Files   Compound   Global   Pages  

GoChainCondition Class Reference

#include <GoChain.h>

List of all members.


Detailed Description

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

Definition at line 37 of file GoChain.h.

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


Constructor & Destructor Documentation

GoChainCondition::GoChainCondition ( GoChainType  type  ) 

A condition with no parameters.

Definition at line 42 of file GoChain.h.

References GO_CHAIN_BY_SEARCH, and SG_ASSERT.

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

A condition depending on two liberties.

Definition at line 51 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 72 of file GoChain.h.

References GO_CHAIN_BY_SEARCH, m_lib1, m_type, and SG_ASSERT.

Referenced by operator<<().

SgPoint GoChainCondition::Lib2 (  )  const

second liberty used in condition

Definition at line 79 of file GoChain.h.

References GO_CHAIN_BY_SEARCH, m_lib2, m_type, and SG_ASSERT.

Referenced by operator<<().

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

Is there a potential conflict between this and conditions?

Definition at line 131 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 120 of file GoChain.cpp.

References m_lib1, m_lib2, and UsesLibs().

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

GoChainType GoChainCondition::Type (  )  const

Definition at line 69 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 67 of file GoChain.h.

References GO_CHAIN_BY_SEARCH, and m_type.

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


Member Data Documentation

SgPoint GoChainCondition::m_lib1 [private]

condition depends on these two liberties

Definition at line 90 of file GoChain.h.

Referenced by Lib1(), and Overlaps().

SgPoint GoChainCondition::m_lib2 [private]

Definition at line 90 of file GoChain.h.

Referenced by Lib2(), and Overlaps().

GoChainType GoChainCondition::m_type [private]

Type.

Todo:
replace by class

Definition at line 87 of file GoChain.h.

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


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


17 Jun 2010 Doxygen 1.4.7