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 11072 of file z3py.py.

## Constructor & Destructor Documentation

## ◆ __init__()

def __init__ | ( |  | self | ) |

Definition at line 11073 of file z3py.py.

11073 def __init__(self):
11074 self.bases = {}
11075 self.lock = None
11076

## Member Function Documentation

## ◆ get()

def get | ( |  | self,
|  |  | ctx
| ) |  |

Definition at line 11082 of file z3py.py.

11082 def get(self, ctx):
11083 if self.lock:
11084 self.lock.acquire()
11085 r = self.bases[ctx]
11086 if self.lock:
11087 self.lock.release()
11088 return r
11089

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

## ◆ insert()

def insert | ( |  | self,
|  |  | r
| ) |  |

Definition at line 11097 of file z3py.py.

11097 def insert(self, r):
11098 if self.lock:
11099 self.lock.acquire()
11100 id = len(self.bases) + 3
11101 self.bases[id] = r
11102 if self.lock:
11103 self.lock.release()
11104 return id
11105
11106

## ◆ set()

def set | ( |  | self,
|  |  | ctx,
|  |  | r
| ) |  |

Definition at line 11090 of file z3py.py.

11090 def set(self, ctx, r):
11091 if self.lock:
11092 self.lock.acquire()
11093 self.bases[ctx] = r
11094 if self.lock:
11095 self.lock.release()
11096

## ◆ set_threaded()

def set_threaded | ( |  | ) |

Definition at line 11077 of file z3py.py.

11077 def set_threaded():
11078 if self.lock is None:
11079 import threading
11080 self.lock = threading.thread.Lock()
11081

## Field Documentation

## ◆ bases

bases

Definition at line 11074 of file z3py.py.

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

## ◆ lock

lock

Definition at line 11075 of file z3py.py.

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