Z3
Public Member Functions | Data Fields
PropClosures Class Reference

Public Member Functions

def __init__ (self)
 
def set_threaded ()
 
def get (self, ctx)
 
def set (self, ctx, r)
 
def insert (self, r)
 

Data Fields

 bases
 
 lock
 

Detailed Description

Definition at line 10493 of file z3py.py.

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self)

Definition at line 10494 of file z3py.py.

10494  def __init__(self):
10495  self.bases = {}
10496  self.lock = None
10497 

Member Function Documentation

◆ get()

def get (   self,
  ctx 
)

Definition at line 10503 of file z3py.py.

10503  def get(self, ctx):
10504  if self.lock: self.lock.acquire()
10505  r = self.bases[ctx]
10506  if self.lock: self.lock.release()
10507  return r
10508 

Referenced by Goal.__getitem__(), and Goal.as_expr().

◆ insert()

def insert (   self,
  r 
)

Definition at line 10514 of file z3py.py.

10514  def insert(self, r):
10515  if self.lock: self.lock.acquire()
10516  id = len(self.bases) + 3
10517  self.bases[id] = r
10518  if self.lock: self.lock.release()
10519  return id
10520 

◆ set()

def set (   self,
  ctx,
  r 
)

Definition at line 10509 of file z3py.py.

10509  def set(self, ctx, r):
10510  if self.lock: self.lock.acquire()
10511  self.bases[ctx] = r
10512  if self.lock: self.lock.release()
10513 

◆ set_threaded()

def set_threaded ( )

Definition at line 10498 of file z3py.py.

10498  def set_threaded():
10499  if self.lock is None:
10500  import threading
10501  self.lock = threading.thread.Lock()
10502 

Field Documentation

◆ bases

bases

Definition at line 10495 of file z3py.py.

Referenced by PropClosures.get(), PropClosures.insert(), and PropClosures.set().

◆ lock

lock