X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.datatypes%2Fscl%2FSimantics%2FBTree.scl;fp=bundles%2Forg.simantics.datatypes%2Fscl%2FSimantics%2FBTree.scl;h=bb5da7a53a6fa3b094bb94dfb5ef9d99a8f347f1;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.datatypes/scl/Simantics/BTree.scl b/bundles/org.simantics.datatypes/scl/Simantics/BTree.scl new file mode 100644 index 000000000..bb5da7a53 --- /dev/null +++ b/bundles/org.simantics.datatypes/scl/Simantics/BTree.scl @@ -0,0 +1,33 @@ +import "Simantics/DB" + +importJava "org.simantics.datatypes.utils.BTree" where + + data BTree + + @JavaName "" + createBTree :: Integer -> Resource -> BTree + @JavaName "" + bTreeOf :: Resource -> BTree + + rootOfBTree :: BTree -> Resource + insertBTree :: BTree -> Variant -> Resource -> () + searchBTree :: BTree -> Variant -> Maybe Resource + removeBTree :: BTree -> Variant -> () + entriesOfBTree :: BTree -> [(Variant, Resource)] + searchRangeBTree :: BTree -> Maybe Variant -> Maybe Variant -> [(Variant, Resource)] + + flushCachedBTree :: BTree -> () + + @private + @JavaName "" + createBTree_ :: Integer -> Resource -> Boolean -> BTree + + @private + @JavaName "" + cachedBTreeOf_ :: Resource -> Boolean -> BTree + +createCachedBTree :: Integer -> Resource -> BTree +createCachedBTree t tree = createBTree_ t tree True + +cachedBTreeOf :: Resource -> BTree +cachedBTreeOf tree = cachedBTreeOf_ tree True \ No newline at end of file