screpl.utils.referencetable module ¶
-
screpl.utils.referencetable.
search_table
( key , table_epd , compare_func , retval_epd ) [source] ¶ -
EUDFuncN
-
screpl.utils.referencetable.
search_table_inv
( value , table_epd , retval_epd ) [source] ¶ -
EUDFuncN
-
class
screpl.utils.referencetable.
LengthForward
( iterable , offset = 0 ) [source] ¶ -
Bases:
eudplib.core.allocator.constexpr.ConstExpr
-
class
screpl.utils.referencetable.
ReferenceTable
( initdict=None , ref_by=None , key_f=<function ReferenceTable.<lambda>> , value_f=<function ReferenceTable.<lambda>> , sortkey_f=<function ReferenceTable.<lambda>> , final=False ) [source] ¶ -
Bases:
eudplib.core.eudobj.eudobj.EUDObject
Dynamic object to store key-value pair
Same as EUDArray with contents:
index
0
1
2
3
4
…
2N-1
2N
value
size(=N)
key1
value1
key2
value2
…
keyN
valueN
However, these key-value pair are lazily collected.
key_f transforms key before registered:
rt = ReferenceTable(key_transformer = EPDConstString) rt.add_pair("Hello", 3) # transforms "Hello" to EPD(Db())
value_f works similar to key_f
-
DynamicConstructed
( ) [source] ¶ -
Whether function is constructed dynamically.
Dynamically constructed EUDObject may have their dependency list generated during object construction. So their dependency list is re-examined before allocation phase.
-
Evaluate
( ) [source] ¶ -
What this object should be evaluated to when used in eudplib program.
- Returns
-
Default) Memory address of this object.
Note
In overriding this method, you can use
eudplib.GetObjectAddr()
.
-