summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.classpath16
-rw-r--r--.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--pom.xml578
-rw-r--r--src/example/java/bjc/funcdata/bst/BinarySearchTreeExample.java8
-rw-r--r--src/main/java/bjc/data/Contexts.java96
-rw-r--r--src/main/java/bjc/data/GeneratingIterator.java2
-rw-r--r--src/main/java/bjc/data/MarkListIterator.java175
-rw-r--r--src/main/java/bjc/data/Multimap.java16
-rw-r--r--src/main/java/bjc/data/Pair.java14
-rw-r--r--src/main/java/bjc/data/ResettableIterator.java14
-rw-r--r--src/main/java/bjc/esodata/.AbbrevTree.java.un~bin0 -> 33807 bytes
-rw-r--r--src/main/java/bjc/esodata/AbbrevMap2.java2
-rw-r--r--src/main/java/bjc/esodata/AbbrevTree.java276
-rw-r--r--src/main/java/bjc/esodata/Multimap.java44
-rw-r--r--src/main/java/bjc/esodata/NestList.java3
-rw-r--r--src/main/java/bjc/esodata/Stack.java2
-rw-r--r--src/main/java/bjc/esodata/ThresholdSet.java74
-rw-r--r--src/main/java/bjc/esodata/spool/Spool.java5
-rw-r--r--src/main/java/bjc/esodata/spool/Spooler.java5
-rw-r--r--src/main/java/bjc/funcdata/FunctionalList.java18
-rw-r--r--src/main/java/bjc/functypes/optics/Lens.java13
-rw-r--r--src/main/java/bjc/functypes/optics/LensX.java67
-rw-r--r--src/main/java/bjc/functypes/optics/Lenses.java147
-rw-r--r--src/main/java/bjc/functypes/optics/MutableLens.java29
-rw-r--r--src/main/java/bjc/functypes/optics/Optic.java15
-rw-r--r--src/main/java/bjc/functypes/optics/PrismX.java5
-rw-r--r--src/main/java/bjc/functypes/optics/impl/package-info.java1
-rw-r--r--src/main/java/bjc/functypes/optics/package-info.java4
-rw-r--r--src/main/java/module-info.java14
-rw-r--r--src/test/java/bjc/test/TestUtils.java (renamed from src/test/java/bjc/TestUtils.java)10
-rw-r--r--src/test/java/bjc/test/data/ArrayIteratorTest.java (renamed from src/test/java/bjc/data/ArrayIteratorTest.java)4
-rw-r--r--src/test/java/bjc/test/data/BooleanToggleTest.java (renamed from src/test/java/bjc/data/BooleanToggleTest.java)4
-rw-r--r--src/test/java/bjc/test/data/CircularIteratorTest.java (renamed from src/test/java/bjc/data/CircularIteratorTest.java)7
-rw-r--r--src/test/java/bjc/test/data/EitherTest.java (renamed from src/test/java/bjc/data/EitherTest.java)4
-rw-r--r--src/test/java/bjc/test/data/GeneratingIteratorTest.java20
-rw-r--r--src/test/java/bjc/test/data/MarkListIteratorTest.java42
-rw-r--r--src/test/java/bjc/test/data/QueuedIteratorTest.java (renamed from src/test/java/bjc/data/QueuedIteratorTest.java)6
-rw-r--r--src/test/java/bjc/test/data/SimpleTreeTest.java29
-rw-r--r--src/test/java/bjc/test/data/TransformIteratorTest.java22
-rw-r--r--src/test/java/bjc/test/esodata/AbbrevTreeTest.java46
-rw-r--r--src/test/java/bjc/test/esodata/MinMaxListTest.java (renamed from src/test/java/bjc/esodata/MinMaxListTest.java)4
-rw-r--r--src/test/java/bjc/test/esodata/NestListTest.java (renamed from src/test/java/bjc/esodata/NestListTest.java)5
-rw-r--r--src/test/java/bjc/test/esodata/StackTest.java (renamed from src/test/java/bjc/esodata/StackTest.java)7
-rw-r--r--src/test/java/bjc/test/esodata/ThresholdSetTest.java (renamed from src/test/java/bjc/esodata/ThresholdSetTest.java)16
-rw-r--r--src/test/java/bjc/test/funcdata/TestMapCreation.java (renamed from src/test/java/bjc/funcdata/TestMapCreation.java)4
-rw-r--r--src/test/java/bjc/test/funcdata/TestMapOperations.java (renamed from src/test/java/bjc/funcdata/TestMapOperations.java)5
-rw-r--r--src/test/java/bjc/test/functypes/IDTest.java (renamed from src/test/java/bjc/functypes/IDTest.java)4
-rw-r--r--src/test/java/bjc/test/functypes/optics/LensesTest.java18
-rw-r--r--src/test/java/bjc/test/functypes/optics/package-info.java1
-rw-r--r--tags1375
50 files changed, 2844 insertions, 438 deletions
diff --git a/.classpath b/.classpath
index 9fdcfec..595e52c 100644
--- a/.classpath
+++ b/.classpath
@@ -1,27 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <classpathentry kind="src" path="src/example/java"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes>
- <attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
- <classpathentry kind="src" output="target/test-classes" path="src/test/java">
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
- <attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
- <attribute name="test" value="true"/>
</attributes>
</classpathentry>
- <classpathentry kind="src" path="src/example/java"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
+ <attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
- <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
+ <attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
+ <attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 2f5cc74..cf2cd45 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,8 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
+org.eclipse.jdt.core.compiler.compliance=17
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.source=17
diff --git a/pom.xml b/pom.xml
index e3882db..c846404 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,292 +1,292 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>io.github.bculkin2442</groupId>
- <artifactId>esodata</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>esodata</name>
- <description>Esoteric or uncommon data structures</description>
- <url>http://www.github.com/bculkin2442/esodata</url>
- <developers>
- <developer>
- <name>Ben Culkin</name>
- <email>bjculkin@mix.wvu.edu</email>
- <url>https://github.com/bculkin2442</url>
- </developer>
- </developers>
- <scm>
- <connection>scm:git:git://github.com/bculkin2442/esodata.git</connection>
- <developerConnection>scm:git:ssh://github.com:bculkin2442/esodata.git</developerConnection>
- <url>http://www.github.com/bculkin2442/esodata/tree/master</url>
- </scm>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <maven.compiler.source>1.8</maven.compiler.source>
- <maven.compiler.target>1.8</maven.compiler.target>
- <!-- github server corresponds to entry in ~/.m2/settings.xml -->
- <github.global.server>github</github.global.server>
- </properties>
- <licenses>
- <license>
- <name>Apache License, Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
- <distribution>repo</distribution>
- </license>
- </licenses>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.13.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-clean-plugin</artifactId>
- <version>3.1.0</version>
- </plugin>
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <version>3.0.2</version>
- </plugin>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.8.0</version>
- </plugin>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.22.1</version>
- <configuration>
- <!-- Sets the VM argument line used
- when unit tests are run. -->
- <argLine>${surefireArgLine}</argLine>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.0.2</version>
- </plugin>
- <plugin>
- <artifactId>maven-install-plugin</artifactId>
- <version>2.5.2</version>
- </plugin>
- <plugin>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.8.2</version>
- </plugin>
- <plugin>
- <artifactId>maven-site-plugin</artifactId>
- <version>3.7.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-project-info-reports-plugin</artifactId>
- <version>3.0.0</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <version>2.5.3</version>
- <configuration>
- <autoVersionSubmodules>true</autoVersionSubmodules>
- <useReleaseProfile>false</useReleaseProfile>
- <releaseProfiles>release</releaseProfiles>
- <goals>deploy</goals>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <version>1.6.7</version>
- <extensions>true</extensions>
- <configuration>
- <serverId>ossrh</serverId>
- <nexusUrl>https://oss.sonatype.org/</nexusUrl>
- <autoReleaseAfterClose>true</autoReleaseAfterClose>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.6.0</version>
- <executions>
- <!-- <execution>
- <id>Source Tagging</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
- <executable>ctags</executable>
- <arguments>
- <argument>-R</argument>
- </arguments>
- </configuration>
- </execution> -->
- <execution>
- <!-- Copy site for gh pages deploy -->
- <id>Site Copy</id>
- <phase>post-site</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
- <executable>rsync</executable>
- <arguments>
- <argument>-av</argument>
- <argument>--delete</argument>
- <argument>target/site/</argument>
- <argument>docs/</argument>
- </arguments>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.8.2</version>
- <executions>
- <!--
- Prepares the property pointing to the JaCoCo runtime agent which
- is passed as VM argument when Maven the Surefire plugin is executed.
- -->
- <execution>
- <id>pre-unit-test</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile>
- <!--
- Sets the name of the property containing the settings
- for JaCoCo runtime agent.
- -->
- <propertyName>surefireArgLine</propertyName>
- </configuration>
- </execution>
- <!--
- Ensures that the code coverage report for unit tests is created after
- unit tests have been run.
- -->
- <execution>
- <id>post-unit-test</id>
- <phase>test</phase>
- <goals>
- <goal>report</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile>
- <!-- Sets the output directory for the code coverage report. -->
- <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- <resources>
- <resource>
- <directory>data/</directory>
- <includes>
- <include>**/*.txt</include>
- </includes>
- </resource>
- </resources>
- </build>
- <profiles>
- <profile>
- <id>release</id>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.2.1</version>
- <executions>
- <execution>
- <id>attach-sources</id>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
- <executions>
- <execution>
- <id>attach-javadocs</id>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-gpg-plugin</artifactId>
- <version>1.5</version>
- <executions>
- <execution>
- <id>sign-artifacts</id>
- <phase>verify</phase>
- <goals>
- <goal>sign</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <version>1.6.7</version>
- <extensions>true</extensions>
- <configuration>
- <serverId>ossrh</serverId>
- <nexusUrl>https://oss.sonatype.org/</nexusUrl>
- <autoReleaseAfterClose>true</autoReleaseAfterClose>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
- <reporting>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>3.1.0</version>
- <configuration></configuration>
- </plugin>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.22.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-changes-plugin</artifactId>
- <version>2.12.1</version>
- </plugin>
- <plugin>
- <artifactId>maven-changelog-plugin</artifactId>
- <version>2.3</version>
- </plugin>
- </plugins>
- </reporting>
- <distributionManagement>
- <snapshotRepository>
- <id>ossrh</id>
- <url>https://oss.sonatype.org/content/repositories/snapshots</url>
- </snapshotRepository>
- <repository>
- <id>ossrh</id>
- <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
- </repository>
- </distributionManagement>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>io.github.bculkin2442</groupId>
+ <artifactId>esodata</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ <packaging>jar</packaging>
+ <name>esodata</name>
+ <description>Esoteric or uncommon data structures</description>
+ <url>http://www.github.com/bculkin2442/esodata</url>
+ <developers>
+ <developer>
+ <name>Ben Culkin</name>
+ <email>bjculkin@mix.wvu.edu</email>
+ <url>https://github.com/bculkin2442</url>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:git:git://github.com/bculkin2442/esodata.git</connection>
+ <developerConnection>scm:git:ssh://github.com:bculkin2442/esodata.git</developerConnection>
+ <url>http://www.github.com/bculkin2442/esodata/tree/master</url>
+ </scm>
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <maven.compiler.source>17</maven.compiler.source>
+ <maven.compiler.target>17</maven.compiler.target>
+ <!-- github server corresponds to entry in ~/.m2/settings.xml -->
+ <github.global.server>github</github.global.server>
+ </properties>
+ <licenses>
+ <license>
+ <name>Apache License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.13.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>3.1.0</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>3.0.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>3.8.0</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.22.2</version>
+ <configuration>
+ <!-- Sets the VM argument line used
+ when unit tests are run. -->
+ <argLine>${surefireArgLine}</argLine>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.0.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.5.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.8.2</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>3.7.1</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ <version>3.0.0</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>2.5.3</version>
+ <configuration>
+ <autoVersionSubmodules>true</autoVersionSubmodules>
+ <useReleaseProfile>false</useReleaseProfile>
+ <releaseProfiles>release</releaseProfiles>
+ <goals>deploy</goals>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.sonatype.plugins</groupId>
+ <artifactId>nexus-staging-maven-plugin</artifactId>
+ <version>1.6.7</version>
+ <extensions>true</extensions>
+ <configuration>
+ <serverId>ossrh</serverId>
+ <nexusUrl>https://oss.sonatype.org/</nexusUrl>
+ <autoReleaseAfterClose>true</autoReleaseAfterClose>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.6.0</version>
+ <executions>
+ <!-- <execution>
+ <id>Source Tagging</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <executable>ctags</executable>
+ <arguments>
+ <argument>-R</argument>
+ </arguments>
+ </configuration>
+ </execution> -->
+ <execution>
+ <!-- Copy site for gh pages deploy -->
+ <id>Site Copy</id>
+ <phase>post-site</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <executable>rsync</executable>
+ <arguments>
+ <argument>-av</argument>
+ <argument>--delete</argument>
+ <argument>target/site/</argument>
+ <argument>docs/</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>0.8.2</version>
+ <executions>
+ <!--
+ Prepares the property pointing to the JaCoCo runtime agent which
+ is passed as VM argument when Maven the Surefire plugin is executed.
+ -->
+ <execution>
+ <id>pre-unit-test</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile>
+ <!--
+ Sets the name of the property containing the settings
+ for JaCoCo runtime agent.
+ -->
+ <propertyName>surefireArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!--
+ Ensures that the code coverage report for unit tests is created after
+ unit tests have been run.
+ -->
+ <execution>
+ <id>post-unit-test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <resources>
+ <resource>
+ <directory>data/</directory>
+ <includes>
+ <include>**/*.txt</include>
+ </includes>
+ </resource>
+ </resources>
+ </build>
+ <profiles>
+ <profile>
+ <id>release</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.2.1</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.9.1</version>
+ <executions>
+ <execution>
+ <id>attach-javadocs</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>1.5</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.sonatype.plugins</groupId>
+ <artifactId>nexus-staging-maven-plugin</artifactId>
+ <version>1.6.7</version>
+ <extensions>true</extensions>
+ <configuration>
+ <serverId>ossrh</serverId>
+ <nexusUrl>https://oss.sonatype.org/</nexusUrl>
+ <autoReleaseAfterClose>true</autoReleaseAfterClose>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>3.1.0</version>
+ <configuration></configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.22.1</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-changes-plugin</artifactId>
+ <version>2.12.1</version>
+ </plugin>
+ <plugin>
+ <artifactId>maven-changelog-plugin</artifactId>
+ <version>2.3</version>
+ </plugin>
+ </plugins>
+ </reporting>
+ <distributionManagement>
+ <snapshotRepository>
+ <id>ossrh</id>
+ <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+ </snapshotRepository>
+ <repository>
+ <id>ossrh</id>
+ <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
+ </repository>
+ </distributionManagement>
</project>
diff --git a/src/example/java/bjc/funcdata/bst/BinarySearchTreeExample.java b/src/example/java/bjc/funcdata/bst/BinarySearchTreeExample.java
index 9be96be..258b17d 100644
--- a/src/example/java/bjc/funcdata/bst/BinarySearchTreeExample.java
+++ b/src/example/java/bjc/funcdata/bst/BinarySearchTreeExample.java
@@ -64,11 +64,9 @@ public class BinarySearchTreeExample {
* Unused CLI args
*/
public static void main(final String[] args) {
- final Scanner input = new Scanner(System.in);
-
- runExample(input, System.out);
-
- input.close();
+ try (Scanner input = new Scanner(System.in)) {
+ runExample(input, System.out);
+ }
}
private static void runExample(final Scanner input, OutputStream outpt) {
diff --git a/src/main/java/bjc/data/Contexts.java b/src/main/java/bjc/data/Contexts.java
index b028ad1..f587fe6 100644
--- a/src/main/java/bjc/data/Contexts.java
+++ b/src/main/java/bjc/data/Contexts.java
@@ -37,67 +37,67 @@ public class Contexts {
public static Context create(Context parent) {
return new ContextImpl(parent);
}
+}
- private static class NullContextImpl implements Context {
- @Override
- public Context getParent() {
- return this;
- }
+class NullContextImpl implements Context {
+ @Override
+ public Context getParent() {
+ return this;
+ }
- @Override
- public void register(String name, Object o) {
- throw new UnsupportedOperationException();
- }
+ @Override
+ public void register(String name, Object o) {
+ throw new UnsupportedOperationException();
+ }
- @Override
- public Object get(String name) {
- throw new NoSuchElementException();
- }
-
- @Override
- public <T> T get(Class<T> contract) {
- throw new NoSuchElementException();
- }
+ @Override
+ public Object get(String name) {
+ throw new NoSuchElementException();
}
+
+ @Override
+ public <T> T get(Class<T> contract) {
+ throw new NoSuchElementException();
+ }
+}
- private static class ContextImpl implements Context {
+class ContextImpl implements Context {
- private final Context parent;
+ private final Context parent;
- private final Map<String, Object> objects;
+ private final Map<String, Object> objects;
- public ContextImpl(Context parent) {
- this.parent = parent;
- this.objects = new HashMap<>();
- }
+ public ContextImpl(Context parent) {
+ this.parent = parent;
+ this.objects = new HashMap<>();
+ }
- @Override
- public void register(String name, Object o) {
- objects.put(name, o);
- }
+ @Override
+ public void register(String name, Object o) {
+ objects.put(name, o);
+ }
- @Override
- public Object get(String name) {
- if (objects.containsKey(name)) {
- return objects.get(name);
- }
- return parent.get(name);
+ @Override
+ public Object get(String name) {
+ if (objects.containsKey(name)) {
+ return objects.get(name);
}
+ return parent.get(name);
+ }
- @SuppressWarnings("unchecked")
- @Override
- public <T> T get(Class<T> contract) {
- for (Object o : objects.values()) {
- if (contract.isInstance(o)) {
- return (T) o;
- }
+ @SuppressWarnings("unchecked")
+ @Override
+ public <T> T get(Class<T> contract) {
+ for (Object o : objects.values()) {
+ if (contract.isInstance(o)) {
+ return (T) o;
}
- return parent.get(contract);
}
+ return parent.get(contract);
+ }
- @Override
- public Context getParent() {
- return parent;
- }
+ @Override
+ public Context getParent() {
+ return parent;
}
-}
+} \ No newline at end of file
diff --git a/src/main/java/bjc/data/GeneratingIterator.java b/src/main/java/bjc/data/GeneratingIterator.java
index f926833..8900b94 100644
--- a/src/main/java/bjc/data/GeneratingIterator.java
+++ b/src/main/java/bjc/data/GeneratingIterator.java
@@ -42,7 +42,7 @@ public class GeneratingIterator<E> implements Iterator<E> {
@Override
public boolean hasNext() {
- return stpper.test(state);
+ return !stpper.test(state);
}
/*
diff --git a/src/main/java/bjc/data/MarkListIterator.java b/src/main/java/bjc/data/MarkListIterator.java
new file mode 100644
index 0000000..35baa28
--- /dev/null
+++ b/src/main/java/bjc/data/MarkListIterator.java
@@ -0,0 +1,175 @@
+package bjc.data;
+
+import java.util.*;
+
+/**
+ * ListIterator which allows navigation/marking of an iterator.
+ *
+ * @author bjcul
+ *
+ * @param <E> The element type
+ */
+public class MarkListIterator<E> implements ListIterator<E> {
+ private Iterator<E> backing;
+
+ private List<E> cache;
+ private Deque<Integer> marks;
+
+ private int currIdx;
+ private int maxIdx;
+
+ /**
+ * Create a new marking list iterator.
+ *
+ * @param backing The iterator which backs us.
+ */
+ public MarkListIterator(Iterator<E> backing) {
+ this.backing = backing;
+
+ this.currIdx = 0;
+ this.maxIdx = 0;
+
+ this.cache = new ArrayList<>();
+ this.marks = new ArrayDeque<>();
+ }
+
+ /**
+ * Get the current element of the iterator.
+ *
+ * @return The current iterator of the element
+ */
+ public E current() {
+ return cache.get(currIdx);
+ }
+
+ /**
+ * Create a new marking list iterator.
+ *
+ * @param backing The iterable to get the backing iterator from.
+ */
+ public MarkListIterator(Iterable<E> backing) {
+ this(backing.iterator());
+ }
+
+ @Override
+ public boolean hasNext() {
+ if (currIdx < maxIdx)
+ return true;
+ return backing.hasNext();
+ }
+
+ @Override
+ public E next() {
+ if (currIdx < maxIdx) {
+ return cache.get(currIdx++);
+ }
+ currIdx++;
+ maxIdx++;
+ E next = backing.next();
+ cache.add(next);
+ return next;
+ }
+
+ @Override
+ public boolean hasPrevious() {
+ return maxIdx > 0 && currIdx > 0;
+ }
+
+ @Override
+ public E previous() {
+ currIdx--;
+ return cache.get(currIdx);
+ }
+
+ @Override
+ public int nextIndex() {
+ return currIdx + 1;
+ }
+
+ @Override
+ public int previousIndex() {
+ return currIdx - 1;
+ }
+
+ /**
+ * Mark the current position in the iterator.
+ */
+ public void mark() {
+ marks.push(currIdx);
+ }
+
+ /**
+ * Reset the iterator to the last position that was marked, leaving the mark in
+ * place.
+ *
+ * @return Whether or not a rollback actually happened
+ */
+ public boolean rollback() {
+ return rollback(false);
+ }
+
+ /**
+ * Reset the iterator to the last position that was marked.
+ *
+ * @param clearMark Whether to clear the mark being rolled back to.
+ *
+ * @return Whether or not a rollback actually happened
+ */
+ public boolean rollback(boolean clearMark) {
+ if (marks.isEmpty()) return false;
+
+ if (clearMark) {
+ currIdx = marks.pop();
+ } else {
+ currIdx = marks.peek();
+ }
+ return true;
+ }
+
+ /**
+ * Remove the last position that was marked.
+ *
+ * @return The marked position
+ */
+ public int commit() {
+ return marks.pop();
+ }
+
+ /**
+ * Resets the cache state of this iterator.
+ *
+ * Once this has been called, all of the previous elements and marks are
+ * discarded.
+ */
+ public void reset() {
+ this.cache = new ArrayList<>();
+ this.marks = new ArrayDeque<>();
+
+ this.currIdx = 0;
+ this.maxIdx = 0;
+ }
+
+ @Override
+ public void remove() {
+ throw new UnsupportedOperationException("Can't remove items");
+ }
+
+ @Override
+ public void set(E e) {
+ throw new UnsupportedOperationException("Can't set items");
+ }
+
+ @Override
+ public void add(E e) {
+ throw new UnsupportedOperationException("Can't add items");
+ }
+
+ /**
+ * Check if this iterator has at least one active mark.
+ *
+ * @return Whether this iterator has any active marks.
+ */
+ public boolean hasMark() {
+ return !marks.isEmpty();
+ }
+}
diff --git a/src/main/java/bjc/data/Multimap.java b/src/main/java/bjc/data/Multimap.java
deleted file mode 100644
index 0e858b7..0000000
--- a/src/main/java/bjc/data/Multimap.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package bjc.data;
-
-/**
- * A map with support for multiple values per key.
- *
- * @param <KeyType>
- * The type of the keys for the map.
- * @param <ValueType>
- * The type of the values for the map.
- *
- * @author Ben Culkin
- */
-public class Multimap<KeyType, ValueType> {
- // TODO either implement this, or find if there is an implementation I've
- // written elsewhere
-}
diff --git a/src/main/java/bjc/data/Pair.java b/src/main/java/bjc/data/Pair.java
index baf1894..1d4be5e 100644
--- a/src/main/java/bjc/data/Pair.java
+++ b/src/main/java/bjc/data/Pair.java
@@ -1,5 +1,8 @@
package bjc.data;
+import java.util.Formattable;
+import java.util.FormattableFlags;
+import java.util.Formatter;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Function;
@@ -18,7 +21,7 @@ import bjc.funcdata.theory.Bifunctor;
* The type of the right side of the pair.
*
*/
-public interface Pair<LeftType, RightType> extends Bifunctor<LeftType, RightType> {
+public interface Pair<LeftType, RightType> extends Bifunctor<LeftType, RightType>, Formattable {
/**
* Bind a function across the values in this pair.
*
@@ -247,4 +250,13 @@ public interface Pair<LeftType, RightType> extends Bifunctor<LeftType, RightType
public static <Left, Right> Pair<Left, Right> pair(Left left, Right right) {
return new SimplePair<>(left, right);
}
+
+ @Override
+ default void formatTo(Formatter formatter, int flags, int width, int precision) {
+ if ((flags & FormattableFlags.ALTERNATE) != 0) {
+ formatter.format("(%s, %s)", getLeft(), getRight());
+ } else {
+ formatter.format("Pair [l=%s, r=%s", getLeft(), getRight());
+ }
+ }
}
diff --git a/src/main/java/bjc/data/ResettableIterator.java b/src/main/java/bjc/data/ResettableIterator.java
index 8b7f07a..8c1c4aa 100644
--- a/src/main/java/bjc/data/ResettableIterator.java
+++ b/src/main/java/bjc/data/ResettableIterator.java
@@ -5,12 +5,12 @@ import java.util.*;
/*
* @TODO Oct 6, 2020 - Ben Culkin - :CleverCache
*
- * In the future, there are certain efficencies we could take with our cached
+ * In the future, there are certain efficiencies we could take with our cached
* elements; namely, the case where we repeat the same element multiple times,
* or the case where we have a mixture of identical (and probably sizable) elements
*
- * The general downside to these of course, is that these efficencies would cost
- * us something in terms of complexity, as well as not benefitting iterators which
+ * The general downside to these of course, is that these efficiencies would cost
+ * us something in terms of complexity, as well as not benefiting iterators which
* aren't large enough.
*
* Still an interesting thought as to the best way to implement such a thing though.
@@ -57,7 +57,7 @@ public class ResettableIterator<T> implements Iterator<T> {
@Override
public boolean hasNext() {
if (isRepeating) return cacheIterator.hasNext() ? true : backing.hasNext();
- else return backing.hasNext();
+ return backing.hasNext();
}
@Override
@@ -65,10 +65,10 @@ public class ResettableIterator<T> implements Iterator<T> {
if (isRepeating) {
if (cacheIterator.hasNext()) {
return cacheIterator.next();
- } else {
- cacheIterator = null;
- isRepeating = false;
}
+
+ cacheIterator = null;
+ isRepeating = false;
}
T itm = backing.next();
diff --git a/src/main/java/bjc/esodata/.AbbrevTree.java.un~ b/src/main/java/bjc/esodata/.AbbrevTree.java.un~
new file mode 100644
index 0000000..7c8a369
--- /dev/null
+++ b/src/main/java/bjc/esodata/.AbbrevTree.java.un~
Binary files differ
diff --git a/src/main/java/bjc/esodata/AbbrevMap2.java b/src/main/java/bjc/esodata/AbbrevMap2.java
index 259c963..341a28d 100644
--- a/src/main/java/bjc/esodata/AbbrevMap2.java
+++ b/src/main/java/bjc/esodata/AbbrevMap2.java
@@ -41,7 +41,7 @@ public class AbbrevMap2 {
}
// Generate all of the strings a given word could be abbreviated as
- private List<String> genAbbrevs(String word) {
+ private static List<String> genAbbrevs(String word) {
List<String> retList = new ArrayList<>();
int len = word.length();
diff --git a/src/main/java/bjc/esodata/AbbrevTree.java b/src/main/java/bjc/esodata/AbbrevTree.java
new file mode 100644
index 0000000..35c44f0
--- /dev/null
+++ b/src/main/java/bjc/esodata/AbbrevTree.java
@@ -0,0 +1,276 @@
+package bjc.esodata;
+
+import java.util.*;
+
+import bjc.data.Pair;
+import bjc.data.TransformIterator;
+import bjc.funcdata.FunctionalList;
+import bjc.funcdata.ListEx;
+
+/**
+ * A labeled tree, where you can reference sub-nodes by their label as long as
+ * the reference is unambiguous.
+ *
+ * Inspired by the way that you can reference COBOL members by their name, as
+ * long as it is unambiguous. If it is ambiguous, you can instead use parent
+ * nodes to disambiguate.
+ *
+ * Additional note: The base iterator will give you all of the child nodes, but
+ * in no defined order.
+ *
+ * @param <Label> The label on each node
+ * @param <Contained> The type of data contained in the nodes.
+ */
+public class AbbrevTree<Label, Contained> implements Iterable<Pair<Label, Contained>> {
+ private Multimap<Label, AbbrevTree<Label, Contained>> labelledNodes;
+
+ private Map<Label, AbbrevTree<Label, Contained>> children;
+ private AbbrevTree<Label, Contained> parent;
+
+ private Contained data;
+ private Label label;
+
+ /**
+ * Create a new empty root AbbrevTree.
+ */
+ public AbbrevTree() {
+ labelledNodes = new Multimap<>();
+ children = new HashMap<>();
+ }
+
+ /**
+ * Create a new occupied root AbbrevTree
+ *
+ * @param label The label for this tree
+ * @param data The data for this tree
+ */
+ public AbbrevTree(Label label, Contained data) {
+ this();
+
+ this.label = label;
+ this.data = data;
+ }
+
+ /**
+ * Create a new empty child AbbrevTree.
+ *
+ * @param parent The parent of this node
+ */
+ public AbbrevTree(AbbrevTree<Label, Contained> parent) {
+ labelledNodes = new Multimap<>();
+ children = new HashMap<>();
+
+ this.parent = parent;
+ }
+
+ /**
+ * Create a new occupied child AbbrevTree
+ *
+ * @param parent The parent of this node
+ * @param label The label for this tree
+ * @param data The data for this tree
+ */
+ public AbbrevTree(AbbrevTree<Label, Contained> parent, Label label, Contained data) {
+ this();
+
+ this.parent = parent;
+ this.label = label;
+ this.data = data;
+
+ addFromChild(label, this);
+ }
+
+ private void addFromChild(Label lbl, AbbrevTree<Label, Contained> node) {
+ labelledNodes.add(lbl, node);
+
+ if (parent != null)
+ parent.addFromChild(lbl, node);
+ }
+
+ /**
+ * Get the data contained in this node.
+ *
+ * @return The contained data.
+ */
+ public Contained getData() {
+ return data;
+ }
+
+ /**
+ * Set the data contained in this node.
+ *
+ * @param data The new data.
+ */
+ public void setData(Contained data) {
+ this.data = data;
+ }
+
+ /**
+ * Get the label for this node.
+ *
+ * @return The label for this node.
+ */
+ public Label getLabel() {
+ return label;
+ }
+
+ /*
+ * Unsupported for now. This requires some additional scaffolding.
+ *
+ * Set the label for this node.
+ *
+ * @param label The new label for this node.
+ */
+ // public void setLabel(Label label) {
+ // this.label = label;
+ // }
+
+ /**
+ * Add a child to this node
+ *
+ * @param key The label for the new node
+ * @param dat The data for the new node.
+ *
+ * @return The new node
+ */
+ public AbbrevTree<Label, Contained> add(Label key, Contained dat) {
+ AbbrevTree<Label, Contained> node = new AbbrevTree<>(this, key, dat);
+
+ children.put(key, node);
+
+ return node;
+ }
+
+ /**
+ * Remove a direct child from this node.
+ *
+ * @param key The label for this child.
+ *
+ * @return The removed child.
+ */
+ public Optional<AbbrevTree<Label, Contained>> removeChild(Label key) {
+ Optional<AbbrevTree<Label, Contained>> res = Optional.ofNullable(children.remove(key));
+
+ res.ifPresent((node) -> {
+ node.parent = null;
+ node.labelledNodes.iterator().forEachRemaining((par) -> {
+ labelledNodes.remove(par.getLeft(), par.getRight());
+
+ parent.labelledNodes.remove(par.getLeft(), par.getRight());
+ });
+ });
+
+ return res;
+ }
+
+ /**
+ * Retrieve a number of subnodes from this tree which correspond to the given
+ * keys.
+ *
+ * Note that the keys are passed in reverse order. Essentially, the first
+ * argument is the actual key, the remainder are just disambiguators
+ *
+ * @param keys The keys to look up.
+ *
+ * @return All of the nodes which match the given key pattern.
+ */
+ public Set<AbbrevTree<Label, Contained>> nodes(@SuppressWarnings("unchecked") Label... keys) {
+ // Need this; Java can't deduce the proper type for reduceAux otherwise
+ Set<AbbrevTree<Label, Contained>> nodes = new HashSet<>();
+
+ ListEx<Label> keyList = new FunctionalList<>(keys);
+
+ // COBOL keylists are in reverse order
+ keyList.reverse();
+
+ Label last = keyList.popLast();
+
+ List<AbbrevTree<Label, Contained>> focusList = List.of(this);
+ for (Label key : keyList) {
+ List<AbbrevTree<Label, Contained>> nextFocus = new ArrayList<>();
+
+ for (AbbrevTree<Label, Contained> focus : focusList) {
+ Set<AbbrevTree<Label, Contained>> focusSet = focus.labelledNodes.get(key);
+ nextFocus.addAll(focusSet);
+ }
+
+ focusList = nextFocus;
+ }
+
+ focusList.forEach((focus) -> {
+ nodes.addAll(focus.labelledNodes.get(last));
+ });
+
+ if (label.equals(last))
+ nodes.add(this);
+
+ return nodes;
+ }
+
+ /**
+ * Retrieve all of the values which correspond to a given key.
+ *
+ *
+ * Note that the keys are passed in reverse order. Essentially, the first
+ * argument is the actual key, the remainder are just disambiguators
+ *
+ * @param keys The keys to look up
+ *
+ * @return All of the values which correspond to the key
+ */
+ public Set<Contained> values(@SuppressWarnings("unchecked") Label... keys) {
+ Set<Contained> res = new HashSet<>();
+
+ nodes(keys).forEach((node) -> res.add(node.data));
+
+ return res;
+ }
+
+ /**
+ * Returns the singular value identified by the given keypath.
+ *
+ * Note that unlike {@link AbbrevTree#nodes(Object...)} and
+ * {@link AbbrevTree#values(Object...)}, the keys to this method are passed in
+ * the proper order, not reverse.
+ *
+ * @param keys The keypath to look up.
+ *
+ * @return An optional containing the identified element if there is one;
+ * otherwise, empty.
+ */
+ public Optional<AbbrevTree<Label, Contained>> path(@SuppressWarnings("unchecked") Label... keys) {
+ Optional<AbbrevTree<Label, Contained>> focus = Optional.of(this);
+
+ for (Label key : keys) {
+ focus.map((node) -> {
+ return node.children.get(key);
+ });
+ }
+
+ return focus;
+ }
+
+ @Override
+ public Iterator<Pair<Label, Contained>> iterator() {
+ return new TransformIterator<>(labelledNodes.iterator(),
+ (node) -> node.mapRight(AbbrevTree<Label, Contained>::getData));
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(children, data, label, parent);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ AbbrevTree<?, ?> other = (AbbrevTree<?, ?>) obj;
+ return Objects.equals(children, other.children) && Objects.equals(data, other.data)
+ && Objects.equals(label, other.label);
+ }
+}
diff --git a/src/main/java/bjc/esodata/Multimap.java b/src/main/java/bjc/esodata/Multimap.java
index fae872e..e18ed49 100644
--- a/src/main/java/bjc/esodata/Multimap.java
+++ b/src/main/java/bjc/esodata/Multimap.java
@@ -1,6 +1,9 @@
package bjc.esodata;
import java.util.*;
+import java.util.Map.Entry;
+
+import bjc.data.Pair;
/**
* A map that has support for multiple values for a given key.
@@ -14,7 +17,7 @@ import java.util.*;
* @param <KeyType> The type of keys in the map.
* @param <ValueType> The type of values in the map.
*/
-public class Multimap<KeyType, ValueType> {
+public class Multimap<KeyType, ValueType> implements Iterable<Pair<KeyType, ValueType>> {
private Map<KeyType, ThresholdSet<ValueType>> backing;
/**
@@ -80,6 +83,17 @@ public class Multimap<KeyType, ValueType> {
}
/**
+ * Get the single value in the map, if there is one.
+ * @param key The key to look up
+ * @return An optional containing the key if it is there once, or empty if it is there either no or more than one times
+ */
+ public Optional<ValueType> getSingle(KeyType key) {
+ Set<ValueType> set = get(key);
+
+ if (set.size() == 1) return Optional.of(set.iterator().next());
+ return Optional.empty();
+ }
+ /**
* Check if there is at least one value mapped to the given key.
*
* @param key
@@ -108,4 +122,32 @@ public class Multimap<KeyType, ValueType> {
return backing.get(key).contains(value) > 0;
}
+
+ @Override
+ public Iterator<Pair<KeyType, ValueType>> iterator() {
+ return new Iterator<>() {
+ private Iterator<Entry<KeyType, ThresholdSet<ValueType>>> mapIter = backing.entrySet().iterator();
+ private KeyType currKey;
+ private Iterator<ValueType> setIter;
+
+ @Override
+ public boolean hasNext() {
+ while (setIter == null || !setIter.hasNext()) {
+ if (!mapIter.hasNext()) return false;
+ Entry<KeyType,ThresholdSet<ValueType>> entry = mapIter.next();
+
+ currKey = entry.getKey();
+ setIter = entry.getValue().setView().iterator();
+ }
+
+ return setIter.hasNext();
+ }
+
+ @Override
+ public Pair<KeyType, ValueType> next() {
+ if (setIter == null || !setIter.hasNext()) throw new NoSuchElementException();
+ return Pair.pair(currKey, setIter.next()) ;
+ }
+ };
+ }
}
diff --git a/src/main/java/bjc/esodata/NestList.java b/src/main/java/bjc/esodata/NestList.java
index eccaf9d..9d9149c 100644
--- a/src/main/java/bjc/esodata/NestList.java
+++ b/src/main/java/bjc/esodata/NestList.java
@@ -351,8 +351,7 @@ public class NestList<Element> extends AbstractList<Either<Element, NestList<Ele
return backing.get(index);
}
- @SuppressWarnings("unlikely-arg-type")
- @Override
+ @Override
public boolean remove(Object o) {
return backing.remove(o);
}
diff --git a/src/main/java/bjc/esodata/Stack.java b/src/main/java/bjc/esodata/Stack.java
index 360e57d..9dfee17 100644
--- a/src/main/java/bjc/esodata/Stack.java
+++ b/src/main/java/bjc/esodata/Stack.java
@@ -337,7 +337,7 @@ public abstract class Stack<T> {
}
/*
- * Dataflow Combinators
+ * Data-flow Combinators
*/
/**
diff --git a/src/main/java/bjc/esodata/ThresholdSet.java b/src/main/java/bjc/esodata/ThresholdSet.java
index 9b8560b..c13bad3 100644
--- a/src/main/java/bjc/esodata/ThresholdSet.java
+++ b/src/main/java/bjc/esodata/ThresholdSet.java
@@ -2,6 +2,10 @@ package bjc.esodata;
import java.util.*;
+import bjc.data.Pair;
+import bjc.data.SimplePair;
+import bjc.data.TransformIterator;
+
/**
* Represents a counted set, that overflows to a map.
*
@@ -17,12 +21,11 @@ import java.util.*;
* The iterator that this type gives by default is an iterator over all of the
* values in the set, not including any of those in the map.
*
- * @param <KeyType>
- * The value being counted.
+ * @param <KeyType> The value being counted.
*
* @author Ben Culkin
*/
-public class ThresholdSet<KeyType> {
+public class ThresholdSet<KeyType> implements Iterable<Pair<KeyType, Integer>> {
// View of this class as a java.util.Set
private class SetView extends AbstractSet<KeyType> {
/*
@@ -37,7 +40,8 @@ public class ThresholdSet<KeyType> {
int ret = ThresholdSet.this.add(key);
// No change to set contents
- if (ret > 2) return false;
+ if (ret > 2)
+ return false;
return true;
}
@@ -51,7 +55,8 @@ public class ThresholdSet<KeyType> {
int ret = ThresholdSet.this.remove(k);
// We removed the element.
- if (ret == 0) return true;
+ if (ret == 0)
+ return true;
return false;
}
@@ -65,7 +70,8 @@ public class ThresholdSet<KeyType> {
int ret = ThresholdSet.this.contains(k);
// The object is set-visible
- if (ret == 1) return true;
+ if (ret == 1)
+ return true;
return false;
}
@@ -101,15 +107,15 @@ public class ThresholdSet<KeyType> {
/**
* Add multiple keys at once to the map.
*
- * @param keys
- * The keys to add.
+ * @param keys The keys to add.
*
* @return An array containing the results of adding the keys.
*/
public int[] addKeys(@SuppressWarnings("unchecked") KeyType... keys) {
int[] ret = new int[keys.length];
- for (int i = 0; i < keys.length; i++) ret[i] = add(keys[i]);
+ for (int i = 0; i < keys.length; i++)
+ ret[i] = add(keys[i]);
return ret;
}
@@ -117,11 +123,10 @@ public class ThresholdSet<KeyType> {
/**
* Add a key to the collection.
*
- * @param key
- * The key to add to the collection.
+ * @param key The key to add to the collection.
*
* @return The number of times that key now exists in the collection. Should
- * always be &lt; 0.
+ * always be &gt; 0.
*/
public int add(KeyType key) {
if (keySet.contains(key)) {
@@ -149,15 +154,15 @@ public class ThresholdSet<KeyType> {
/**
* Remove a bunch of keys from the collection.
*
- * @param keys
- * The keys to remove from the collection.
+ * @param keys The keys to remove from the collection.
*
* @return The results from removing the keys.
*/
public int[] removeKeys(@SuppressWarnings("unchecked") KeyType... keys) {
int[] ret = new int[keys.length];
- for (int i = 0; i < keys.length; i++) ret[i] = remove(keys[i]);
+ for (int i = 0; i < keys.length; i++)
+ ret[i] = remove(keys[i]);
return ret;
}
@@ -165,8 +170,7 @@ public class ThresholdSet<KeyType> {
/**
* Remove a key from the collection.
*
- * @param key
- * The key to remove from the collection.
+ * @param key The key to remove from the collection.
*
* @return The number of times that key now exists in the collection. Returns -1
* if that key wasn't in the collection beforehand.
@@ -188,11 +192,11 @@ public class ThresholdSet<KeyType> {
keySet.add(key);
return 1;
- } else {
- keyMap.put(key, cnt);
-
- return cnt;
}
+
+ keyMap.put(key, cnt);
+
+ return cnt;
} else {
// We don't know about that key
return -1;
@@ -202,15 +206,15 @@ public class ThresholdSet<KeyType> {
/**
* Get the number of times the set contains a set of given keys.
*
- * @param keys
- * The keys to look for.
+ * @param keys The keys to look for.
*
* @return The containment counts for each key.
*/
public int[] containsKeys(@SuppressWarnings("unchecked") KeyType... keys) {
int[] ret = new int[keys.length];
- for (int i = 0; i < keys.length; i++) ret[i] = contains(keys[i]);
+ for (int i = 0; i < keys.length; i++)
+ ret[i] = contains(keys[i]);
return ret;
}
@@ -218,15 +222,17 @@ public class ThresholdSet<KeyType> {
/**
* Get the number of times the set contains a given key.
*
- * @param key
- * The key to look for.
+ * @param key The key to look for.
*
* @return The number of times the key occurs; -1 if it doesn't occur.
*/
public int contains(KeyType key) {
- if (keySet.contains(key)) return 1;
- if (!keyMap.containsKey(key)) return -1;
- else return keyMap.get(key);
+ if (keySet.contains(key))
+ return 1;
+ if (!keyMap.containsKey(key))
+ return -1;
+
+ return keyMap.get(key);
}
/**
@@ -252,12 +258,18 @@ public class ThresholdSet<KeyType> {
return new SetView();
}
+ @Override
+ public Iterator<Pair<KeyType, Integer>> iterator() {
+ return new TransformIterator<>(keyMap.entrySet().iterator(),
+ (entry) -> new SimplePair<>(entry.getKey(), entry.getValue()));
+ }
+
/**
* Static threshold set constructor.
+ *
* @param <KType> The type of keys for the threshold set.
*
- * @param keys
- * The initial keys to add to the threshold set.
+ * @param keys The initial keys to add to the threshold set.
* @return A threshold set with the given keys.
*/
@SafeVarargs
diff --git a/src/main/java/bjc/esodata/spool/Spool.java b/src/main/java/bjc/esodata/spool/Spool.java
new file mode 100644
index 0000000..dbd2ce8
--- /dev/null
+++ b/src/main/java/bjc/esodata/spool/Spool.java
@@ -0,0 +1,5 @@
+package bjc.esodata.spool;
+
+public interface Spool<Contained> {
+
+}
diff --git a/src/main/java/bjc/esodata/spool/Spooler.java b/src/main/java/bjc/esodata/spool/Spooler.java
new file mode 100644
index 0000000..a222a25
--- /dev/null
+++ b/src/main/java/bjc/esodata/spool/Spooler.java
@@ -0,0 +1,5 @@
+package bjc.esodata.spool;
+
+public interface Spooler {
+ public <E> Spool<E> getSpool();
+}
diff --git a/src/main/java/bjc/funcdata/FunctionalList.java b/src/main/java/bjc/funcdata/FunctionalList.java
index 88f49c4..c9c3a9f 100644
--- a/src/main/java/bjc/funcdata/FunctionalList.java
+++ b/src/main/java/bjc/funcdata/FunctionalList.java
@@ -6,6 +6,7 @@ import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.NoSuchElementException;
+import java.util.Objects;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Consumer;
@@ -487,4 +488,21 @@ public class FunctionalList<E> implements Cloneable, ListEx<E> {
return sb.toString();
}
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(wrapped);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ FunctionalList<?> other = (FunctionalList<?>) obj;
+ return Objects.equals(wrapped, other.wrapped);
+ }
}
diff --git a/src/main/java/bjc/functypes/optics/Lens.java b/src/main/java/bjc/functypes/optics/Lens.java
new file mode 100644
index 0000000..0a7d4cd
--- /dev/null
+++ b/src/main/java/bjc/functypes/optics/Lens.java
@@ -0,0 +1,13 @@
+package bjc.functypes.optics;
+
+/**
+ * A type-invariant var Laarhoven lens.
+ *
+ * @author bjcul
+ *
+ * @param <Whole> The item this lens can focus on
+ * @param <Part> The field this lens focuses on
+ */
+public interface Lens<Whole, Part> extends LensX<Whole, Whole, Part, Part> {
+ // Alias type
+}
diff --git a/src/main/java/bjc/functypes/optics/LensX.java b/src/main/java/bjc/functypes/optics/LensX.java
new file mode 100644
index 0000000..d2e9c30
--- /dev/null
+++ b/src/main/java/bjc/functypes/optics/LensX.java
@@ -0,0 +1,67 @@
+package bjc.functypes.optics;
+
+import static bjc.functypes.optics.Lenses.immutable;
+
+import java.util.function.BiFunction;
+import java.util.function.Function;
+
+/**
+ * A type-variant lens
+ *
+ * @author Ben Culkin
+ *
+ * @param <W1> The first type the lens is used on
+ * @param <W2> The second 'whole' type
+ * @param <P1> The first 'part' type
+ * @param <P2> The second 'part' type
+ */
+public interface LensX<W1, W2, P1, P2> extends Optic<W1, W2, P1, P2> {
+ /**
+ * Retrieve the focused value of this lens.
+ *
+ * @param source The item to use the lens on.
+ *
+ * @return The value from the given whole this lens focuses on.
+ */
+ P1 get(W1 source);
+
+ /**
+ * Create an updated version of the item this lens focuses on.
+ *
+ * @param source The item to use the lens on.
+ * @param val The new value.
+ *
+ * @return The updated item the lens was used on.
+ */
+ W2 set(W1 source, P2 val);
+
+ /**
+ * Update the focused value.
+ *
+ * NOTE: It will often be more efficient to implement this directly. The
+ * implementation here is provided for convenience.
+ *
+ * @param source The item to use the lens on.
+ * @param action The action to applied to the focused item.
+ *
+ * @return The updated item the lens was used on.
+ */
+ default W2 update(W1 source, Function<P1, P2> action) {
+ return set(source, action.apply(get(source)));
+ }
+
+ /**
+ * Compose two type-variant lenses together.
+ *
+ * @param <V1> The first type the second lens focuses on
+ * @param <V2> The second type the second lens focuses on.
+ *
+ * @param other The second lens to use.
+ *
+ * @return A lens composed from this one and the given one.
+ */
+ default <V1, V2> LensX<W1, W2, V1, V2> compose(LensX<P1, P2, V1, V2> other) {
+ return immutable((whole) -> other.get(get(whole)),
+ (whole, val) -> update(whole, (P1 val2) -> other.set(val2, val)));
+ }
+} \ No newline at end of file
diff --git a/src/main/java/bjc/functypes/optics/Lenses.java b/src/main/java/bjc/functypes/optics/Lenses.java
new file mode 100644
index 0000000..05a64e7
--- /dev/null
+++ b/src/main/java/bjc/functypes/optics/Lenses.java
@@ -0,0 +1,147 @@
+package bjc.functypes.optics;
+
+import java.util.function.BiConsumer;
+import java.util.function.BiFunction;
+import java.util.function.Function;
+
+import bjc.data.Holder;
+import bjc.data.Pair;
+
+/**
+ * Utility and constructor functions for lenses
+ *
+ * @author bjcul
+ *
+ */
+public class Lenses {
+ /**
+ * Create an immutable lens from a pair of functions.
+ *
+ * @param <W1> The first type the lens is used on
+ * @param <W2> The second type the lens is used on
+ * @param <P1> The first type the lens focuses on
+ * @param <P2> The second type the lens focuses on.
+ *
+ * @param getter The getter for the lens
+ * @param setter The setter for the lens
+ *
+ * @return The lens composed from the two given functions
+ */
+ public static <W1, W2, P1, P2> LensX<W1, W2, P1, P2> immutable(Function<W1, P1> getter,
+ BiFunction<W1, P2, W2> setter) {
+ return new FunctionalLensX<>(getter, setter);
+ }
+
+ /**
+ * Create a mutable lens from a pair of functions.
+ *
+ * @param <Whole> The type the lens is used on
+ * @param <Part> The type the lens is focused on
+ *
+ * @param getter The getter for the lens
+ * @param mutator The mutator for the lens
+ *
+ * @return The mutable lens composed from the two given functions
+ */
+ public static <Whole, Part> MutableLens<Whole, Part> mutable(Function<Whole, Part> getter,
+ BiConsumer<Whole, Part> mutator) {
+ return new FunctionalMutableLens<>(getter, mutator);
+ }
+
+ /**
+ * Create a lens that reflects over the value in a holder
+ *
+ * @param <Part1> The first type contained in the holder
+ * @param <Part2> The second type contained in the holder
+ *
+ * @return A lens that focuses on the value of a holder
+ */
+ public static <Part1, Part2> LensX<Holder<Part1>, Holder<Part2>, Part1, Part2> holder() {
+ return immutable((hld) -> hld.getValue(), (hld, val) -> hld.map((vl) -> val));
+ }
+
+ /**
+ * Create a lens for updating tagged pairs.
+ *
+ * TODO: Should this be on a Tagged<T, A> class that is isomorphic to pair
+ * instead?
+ *
+ * @param <A> The first data type
+ * @param <B> The second data type
+ * @param <T> The tag type
+ *
+ * @return A lens that operates on the value of a tagged pair.
+ */
+ public static <A, B, T> LensX<Pair<T, A>, Pair<T, B>, A, B> tagged() {
+ return immutable((par) -> par.getRight(), (par, val) -> par.mapRight((vl) -> val));
+ }
+
+ /**
+ * Creates a lens which focuses on a piece of internal state.
+ *
+ * @param <A> The first state type
+ * @param <B> The second state type
+ *
+ * @param val The initial state value
+ *
+ * @return A lens that focuses on the given internal state.
+ */
+ public static <A, B> LensX<?, ?, A, B> state(A val) {
+ Holder<A> hold = Holder.of(val);
+ return immutable((whole) -> hold.getValue(), (whole, vl) -> hold.map((arg) -> vl));
+ }
+
+ /**
+ * Creates a lens which focuses on a piece of mutable internal state.
+ *
+ * @param <A> The state type
+ *
+ * @param val The initial state value
+ *
+ * @return A lens that focuses on the given internal state.
+ */
+ public static <A> MutableLens<?, A> stateM(A val) {
+ Holder<A> hold = Holder.of(val);
+ return mutable((whole) -> hold.getValue(), (whole, vl) -> hold.replace(vl));
+ }
+}
+
+final class FunctionalLensX<W1, W2, P1, P2> implements LensX<W1, W2, P1, P2> {
+ private final BiFunction<W1, P2, W2> setter;
+ private final Function<W1, P1> getter;
+
+ FunctionalLensX(Function<W1, P1> getter, BiFunction<W1, P2, W2> setter) {
+ this.setter = setter;
+ this.getter = getter;
+ }
+
+ @Override
+ public P1 get(W1 source) {
+ return getter.apply(source);
+ }
+
+ @Override
+ public W2 set(W1 source, P2 val) {
+ return setter.apply(source, val);
+ }
+}
+
+final class FunctionalMutableLens<Whole, Part> implements MutableLens<Whole, Part> {
+ private final BiConsumer<Whole, Part> mutator;
+ private final Function<Whole, Part> getter;
+
+ FunctionalMutableLens(Function<Whole, Part> getter, BiConsumer<Whole, Part> mutator) {
+ this.mutator = mutator;
+ this.getter = getter;
+ }
+
+ @Override
+ public Part get(Whole source) {
+ return getter.apply(source);
+ }
+
+ @Override
+ public void mutate(Whole source, Part val) {
+ mutator.accept(source, val);
+ }
+}
diff --git a/src/main/java/bjc/functypes/optics/MutableLens.java b/src/main/java/bjc/functypes/optics/MutableLens.java
new file mode 100644
index 0000000..b6fca5d
--- /dev/null
+++ b/src/main/java/bjc/functypes/optics/MutableLens.java
@@ -0,0 +1,29 @@
+package bjc.functypes.optics;
+
+/**
+ * A type-invariant lens for mutating objects.
+ *
+ * Note that there is no type-variant version, because that wouldn't make much sense.
+ *
+ * Also, mixing mutable and immutable lenses may lead to confusion.
+ *
+ * @author bjcul
+ *
+ * @param <Whole> The type the lens is used on
+ * @param <Part> The type the lens is focused on
+ */
+public interface MutableLens<Whole, Part> extends Lens<Whole, Part> {
+ /**
+ * Apply a mutation to an item.
+ *
+ * @param source The item to use the lens on.
+ * @param val The new value for the focused field.
+ */
+ void mutate(Whole source, Part val);
+
+ @Override
+ default Whole set(Whole source, Part val) {
+ mutate(source, val);
+ return source;
+ }
+}
diff --git a/src/main/java/bjc/functypes/optics/Optic.java b/src/main/java/bjc/functypes/optics/Optic.java
new file mode 100644
index 0000000..949eeca
--- /dev/null
+++ b/src/main/java/bjc/functypes/optics/Optic.java
@@ -0,0 +1,15 @@
+package bjc.functypes.optics;
+
+/**
+ * General interface for optics of varying sorts
+ *
+ * @author bjcul
+ *
+ * @param <W1> The first item the optic is used on
+ * @param <W2> The second item the optic is used on
+ * @param <P1> The first item the optic focuses on
+ * @param <P2> The second item the optic focuses on
+ */
+public interface Optic<W1, W2, P1, P2> {
+ // Marker interface
+}
diff --git a/src/main/java/bjc/functypes/optics/PrismX.java b/src/main/java/bjc/functypes/optics/PrismX.java
new file mode 100644
index 0000000..a9c0dd2
--- /dev/null
+++ b/src/main/java/bjc/functypes/optics/PrismX.java
@@ -0,0 +1,5 @@
+package bjc.functypes.optics;
+
+public interface PrismX<W1, W2, P1, P2> extends Optic<W1, W2, P1, P2> {
+
+}
diff --git a/src/main/java/bjc/functypes/optics/impl/package-info.java b/src/main/java/bjc/functypes/optics/impl/package-info.java
new file mode 100644
index 0000000..f309401
--- /dev/null
+++ b/src/main/java/bjc/functypes/optics/impl/package-info.java
@@ -0,0 +1 @@
+package bjc.functypes.optics.impl; \ No newline at end of file
diff --git a/src/main/java/bjc/functypes/optics/package-info.java b/src/main/java/bjc/functypes/optics/package-info.java
new file mode 100644
index 0000000..c187df9
--- /dev/null
+++ b/src/main/java/bjc/functypes/optics/package-info.java
@@ -0,0 +1,4 @@
+/**
+ *
+ */
+package bjc.functypes.optics; \ No newline at end of file
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
new file mode 100644
index 0000000..fdbf1b6
--- /dev/null
+++ b/src/main/java/module-info.java
@@ -0,0 +1,14 @@
+/**
+ * Contains various more esoteric data structures.
+ *
+ * @author bjculkin
+ *
+ */
+module esodata {
+ exports bjc.data;
+ exports bjc.esodata;
+ exports bjc.functypes;
+ exports bjc.funcdata.bst;
+ exports bjc.funcdata.theory;
+ exports bjc.funcdata;
+} \ No newline at end of file
diff --git a/src/test/java/bjc/TestUtils.java b/src/test/java/bjc/test/TestUtils.java
index 312ebaf..04cdf70 100644
--- a/src/test/java/bjc/TestUtils.java
+++ b/src/test/java/bjc/test/TestUtils.java
@@ -1,4 +1,4 @@
-package bjc;
+package bjc.test;
import java.util.*;
@@ -21,7 +21,13 @@ public class TestUtils {
public static <T> void assertIteratorEquals(Iterator<T> src, T... vals) {
for (int i = 0; i < vals.length; i++) {
if (src.hasNext()) {
- assertEquals(vals[i], src.next());
+ T actNext = src.next();
+ T expNext = vals[i];
+
+ String fmt = "mismatch at index %d";
+ String msg = String.format(fmt, i);
+
+ assertEquals(msg, expNext, actNext);
} else {
String msg = String.format("not enough values: got %d, wanted %d", i,
vals.length);
diff --git a/src/test/java/bjc/data/ArrayIteratorTest.java b/src/test/java/bjc/test/data/ArrayIteratorTest.java
index 223eea2..c446f53 100644
--- a/src/test/java/bjc/data/ArrayIteratorTest.java
+++ b/src/test/java/bjc/test/data/ArrayIteratorTest.java
@@ -1,12 +1,14 @@
/**
*
*/
-package bjc.data;
+package bjc.test.data;
import static org.junit.Assert.*;
import org.junit.*;
+import bjc.data.ArrayIterator;
+
/**
* Test ArrayIterator
* @author Ben Culkin
diff --git a/src/test/java/bjc/data/BooleanToggleTest.java b/src/test/java/bjc/test/data/BooleanToggleTest.java
index 0b0937f..7577340 100644
--- a/src/test/java/bjc/data/BooleanToggleTest.java
+++ b/src/test/java/bjc/test/data/BooleanToggleTest.java
@@ -1,9 +1,11 @@
-package bjc.data;
+package bjc.test.data;
import static org.junit.Assert.*;
import org.junit.Test;
+import bjc.data.BooleanToggle;
+
/**
* Test for boolean toggles.
*
diff --git a/src/test/java/bjc/data/CircularIteratorTest.java b/src/test/java/bjc/test/data/CircularIteratorTest.java
index 8091e1c..cb7b55a 100644
--- a/src/test/java/bjc/data/CircularIteratorTest.java
+++ b/src/test/java/bjc/test/data/CircularIteratorTest.java
@@ -1,10 +1,13 @@
-package bjc.data;
+package bjc.test.data;
-import static bjc.TestUtils.*;
+import static bjc.test.TestUtils.*;
import java.util.*;
import org.junit.Test;
+import bjc.data.ArrayIterator;
+import bjc.data.CircularIterator;
+
/**
* Test for circular iterators.,
*
diff --git a/src/test/java/bjc/data/EitherTest.java b/src/test/java/bjc/test/data/EitherTest.java
index ef2d12b..04cff09 100644
--- a/src/test/java/bjc/data/EitherTest.java
+++ b/src/test/java/bjc/test/data/EitherTest.java
@@ -1,4 +1,4 @@
-package bjc.data;
+package bjc.test.data;
import static org.junit.Assert.*;
@@ -6,6 +6,8 @@ import java.util.*;
import org.junit.*;
+import bjc.data.Either;
+
@SuppressWarnings("javadoc")
public class EitherTest
{
diff --git a/src/test/java/bjc/test/data/GeneratingIteratorTest.java b/src/test/java/bjc/test/data/GeneratingIteratorTest.java
new file mode 100644
index 0000000..e1c5fbd
--- /dev/null
+++ b/src/test/java/bjc/test/data/GeneratingIteratorTest.java
@@ -0,0 +1,20 @@
+package bjc.test.data;
+
+import static bjc.test.TestUtils.assertIteratorEquals;
+import java.util.Iterator;
+
+import org.junit.Test;
+
+import bjc.data.GeneratingIterator;
+
+@SuppressWarnings("javadoc")
+public class GeneratingIteratorTest {
+
+ @Test
+ public void test() {
+ Iterator<String> itr = new GeneratingIterator<>("", str -> str + "A", str -> str.equalsIgnoreCase("AAAA"));
+
+ assertIteratorEquals(false, itr, "A", "AA", "AAA", "AAAA");
+ }
+
+}
diff --git a/src/test/java/bjc/test/data/MarkListIteratorTest.java b/src/test/java/bjc/test/data/MarkListIteratorTest.java
new file mode 100644
index 0000000..366755f
--- /dev/null
+++ b/src/test/java/bjc/test/data/MarkListIteratorTest.java
@@ -0,0 +1,42 @@
+package bjc.test.data;
+
+import static org.junit.Assert.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.junit.Test;
+
+import bjc.data.MarkListIterator;
+import bjc.test.TestUtils;
+
+/**
+ * Tests for {@link MarkListIterator}
+ * @author bjcul
+ *
+ */
+@SuppressWarnings("javadoc")
+public class MarkListIteratorTest {
+
+ @Test
+ public void test() {
+ List<String> list1 = Arrays.asList("a", "b", "c");
+
+ MarkListIterator<String> itr1 = new MarkListIterator<>(list1);
+ itr1.mark();
+
+ assertFalse(itr1.hasPrevious());
+ assertTrue(itr1.hasNext());
+ TestUtils.assertIteratorEquals(itr1, "a", "b", "c");
+
+ assertTrue(itr1.hasPrevious());
+ assertFalse(itr1.hasNext());
+
+ itr1.rollback(false);
+
+ assertFalse(itr1.hasPrevious());
+ assertTrue(itr1.hasNext());
+ TestUtils.assertIteratorEquals(itr1, "a", "b", "c");
+ }
+
+}
diff --git a/src/test/java/bjc/data/QueuedIteratorTest.java b/src/test/java/bjc/test/data/QueuedIteratorTest.java
index b880f97..a059e96 100644
--- a/src/test/java/bjc/data/QueuedIteratorTest.java
+++ b/src/test/java/bjc/test/data/QueuedIteratorTest.java
@@ -1,10 +1,12 @@
-package bjc.data;
+package bjc.test.data;
import static java.util.Arrays.asList;
import org.junit.Test;
-import static bjc.TestUtils.*;
+import bjc.data.QueuedIterator;
+
+import static bjc.test.TestUtils.*;
import static bjc.data.QueuedIterator.queued;
/**
diff --git a/src/test/java/bjc/test/data/SimpleTreeTest.java b/src/test/java/bjc/test/data/SimpleTreeTest.java
new file mode 100644
index 0000000..db7457b
--- /dev/null
+++ b/src/test/java/bjc/test/data/SimpleTreeTest.java
@@ -0,0 +1,29 @@
+package bjc.test.data;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import bjc.data.SimpleTree;
+
+public class SimpleTreeTest {
+
+ @Test
+ public void test() {
+ SimpleTree<String> tree1 = new SimpleTree<>("a");
+ SimpleTree<String> tree2 = new SimpleTree<>("a");
+
+ assertEquals(tree1, tree2);
+
+ tree1.addChild("b");
+
+ assertNotEquals(tree1, tree2);
+
+ tree2.addChild("b");
+
+ tree1.equals(tree2);
+
+ assertEquals(tree1, tree2);
+ }
+
+}
diff --git a/src/test/java/bjc/test/data/TransformIteratorTest.java b/src/test/java/bjc/test/data/TransformIteratorTest.java
new file mode 100644
index 0000000..8a10b10
--- /dev/null
+++ b/src/test/java/bjc/test/data/TransformIteratorTest.java
@@ -0,0 +1,22 @@
+package bjc.test.data;
+
+import static bjc.test.TestUtils.assertIteratorEquals;
+import java.util.Iterator;
+
+import org.junit.Test;
+
+import bjc.data.ArrayIterator;
+import bjc.data.TransformIterator;
+
+@SuppressWarnings("javadoc")
+public class TransformIteratorTest {
+
+ @Test
+ public void test() {
+ Iterator<String> itr1 = new ArrayIterator<>("a", "b", "c");
+ Iterator<String> itr2 = new TransformIterator<>(itr1, str -> str + "X");
+
+ assertIteratorEquals(itr2, "aX", "bX", "cX");
+ }
+
+}
diff --git a/src/test/java/bjc/test/esodata/AbbrevTreeTest.java b/src/test/java/bjc/test/esodata/AbbrevTreeTest.java
new file mode 100644
index 0000000..1332b63
--- /dev/null
+++ b/src/test/java/bjc/test/esodata/AbbrevTreeTest.java
@@ -0,0 +1,46 @@
+package bjc.test.esodata;
+
+import static org.junit.Assert.*;
+import static bjc.test.TestUtils.*;
+
+import org.junit.Test;
+
+import bjc.esodata.AbbrevTree;
+
+@SuppressWarnings("javadoc")
+public class AbbrevTreeTest {
+ private static class StringTree extends AbbrevTree<String, String> {
+ // Alias type
+ public StringTree(AbbrevTree<String, String> parent, String label, String data) {
+ super(parent, label, data);
+ }
+
+ public StringTree(String label, String data) {
+ super(label, data);
+ }
+ }
+
+ @Test
+ public void testGet() {
+ StringTree root = new StringTree("root", "a");
+
+ StringTree leaf1 = new StringTree(root, "leaf", "b1");
+ StringTree node1 = new StringTree(root, "node1", "b2");
+
+ StringTree node2 = new StringTree(node1, "node2", "c1");
+ StringTree leaf2 = new StringTree(node1, "leaf", "c2");
+
+ var list1 = root.nodes("node2");
+ assertEquals(1, list1.size());
+ assertIteratorSet(false, list1.iterator(), node2);
+
+ var list2 = root.nodes("leaf");
+ assertEquals(2, list2.size());
+ assertIteratorSet(false, list2.iterator(), leaf1, leaf2);
+
+ var list3 = root.nodes("leaf", "node1");
+ assertEquals(1, list3.size());
+ assertIteratorSet(false, list3.iterator(), leaf2);
+ }
+
+} \ No newline at end of file
diff --git a/src/test/java/bjc/esodata/MinMaxListTest.java b/src/test/java/bjc/test/esodata/MinMaxListTest.java
index 08901f0..0337ef7 100644
--- a/src/test/java/bjc/esodata/MinMaxListTest.java
+++ b/src/test/java/bjc/test/esodata/MinMaxListTest.java
@@ -1,4 +1,4 @@
-package bjc.esodata;
+package bjc.test.esodata;
import static org.junit.Assert.*;
@@ -6,6 +6,8 @@ import java.util.*;
import org.junit.*;
+import bjc.esodata.MinMaxList;
+
@SuppressWarnings("javadoc")
public class MinMaxListTest {
private final static Comparator<Integer> intComparator = (lhs, rhs) -> lhs - rhs;;
diff --git a/src/test/java/bjc/esodata/NestListTest.java b/src/test/java/bjc/test/esodata/NestListTest.java
index ff3723e..c97859e 100644
--- a/src/test/java/bjc/esodata/NestListTest.java
+++ b/src/test/java/bjc/test/esodata/NestListTest.java
@@ -1,4 +1,4 @@
-package bjc.esodata;
+package bjc.test.esodata;
import static org.junit.Assert.*;
@@ -6,7 +6,8 @@ import java.util.*;
import org.junit.*;
-import bjc.*;
+import bjc.esodata.NestList;
+import bjc.test.TestUtils;
@SuppressWarnings("javadoc")
public class NestListTest
diff --git a/src/test/java/bjc/esodata/StackTest.java b/src/test/java/bjc/test/esodata/StackTest.java
index b4b98cc..7f896a7 100644
--- a/src/test/java/bjc/esodata/StackTest.java
+++ b/src/test/java/bjc/test/esodata/StackTest.java
@@ -1,8 +1,11 @@
-package bjc.esodata;
+package bjc.test.esodata;
import org.junit.Test;
-import static bjc.TestUtils.*;
+import bjc.esodata.SimpleStack;
+import bjc.esodata.Stack;
+
+import static bjc.test.TestUtils.*;
import static org.junit.Assert.*;
diff --git a/src/test/java/bjc/esodata/ThresholdSetTest.java b/src/test/java/bjc/test/esodata/ThresholdSetTest.java
index c9403da..142a641 100644
--- a/src/test/java/bjc/esodata/ThresholdSetTest.java
+++ b/src/test/java/bjc/test/esodata/ThresholdSetTest.java
@@ -1,8 +1,10 @@
-package bjc.esodata;
+package bjc.test.esodata;
import org.junit.Test;
-import static bjc.TestUtils.*;
+import bjc.esodata.ThresholdSet;
+
+import static bjc.test.TestUtils.*;
import static bjc.esodata.ThresholdSet.*;
@@ -20,7 +22,7 @@ public class ThresholdSetTest {
ThresholdSet<String> thst = TS("a", "b");
assertIteratorSet(false, thst.setView().iterator(), "a", "b");
- assertEquals(thst.setSize(), 2);
+ assertEquals(thst.setView().size(), 2);
}
@Test
@@ -28,7 +30,7 @@ public class ThresholdSetTest {
ThresholdSet<String> thst = TS("a", "b", "a");
assertIteratorSet(false, thst.setView().iterator(), "b");
- assertEquals(thst.setSize(), 1);
+ assertEquals(thst.setView().size(), 1);
}
@Test
@@ -37,7 +39,7 @@ public class ThresholdSetTest {
thst.add("a");
assertIteratorSet(false, thst.setView().iterator(), "b");
- assertEquals(thst.setSize(), 1);
+ assertEquals(thst.setView().size(), 1);
}
@Test
@@ -57,12 +59,12 @@ public class ThresholdSetTest {
thst.remove("a");
assertIteratorSet(false, thst.setView().iterator(), "a", "b");
- assertEquals(2, thst.setSize());
+ assertEquals(2, thst.setView().size());
thst.remove("a");
assertIteratorSet(false, thst.setView().iterator(), "b");
- assertEquals(1, thst.setSize());
+ assertEquals(1, thst.setView().size());
}
@Test
diff --git a/src/test/java/bjc/funcdata/TestMapCreation.java b/src/test/java/bjc/test/funcdata/TestMapCreation.java
index eeea591..4a06aa0 100644
--- a/src/test/java/bjc/funcdata/TestMapCreation.java
+++ b/src/test/java/bjc/test/funcdata/TestMapCreation.java
@@ -1,9 +1,11 @@
-package bjc.funcdata;
+package bjc.test.funcdata;
import static org.junit.Assert.*;
import org.junit.*;
+import bjc.funcdata.MapEx;
+
@SuppressWarnings("javadoc")
public class TestMapCreation {
@Test
diff --git a/src/test/java/bjc/funcdata/TestMapOperations.java b/src/test/java/bjc/test/funcdata/TestMapOperations.java
index 7523d02..0cc60bf 100644
--- a/src/test/java/bjc/funcdata/TestMapOperations.java
+++ b/src/test/java/bjc/test/funcdata/TestMapOperations.java
@@ -1,4 +1,4 @@
-package bjc.funcdata;
+package bjc.test.funcdata;
import static org.junit.Assert.*;
@@ -6,6 +6,9 @@ import java.util.*;
import org.junit.*;
+import bjc.funcdata.MapEx;
+import bjc.funcdata.ObjectFrozen;
+
@SuppressWarnings("javadoc")
public class TestMapOperations {
private MapEx<String, String> map;
diff --git a/src/test/java/bjc/functypes/IDTest.java b/src/test/java/bjc/test/functypes/IDTest.java
index 69c6133..4e31644 100644
--- a/src/test/java/bjc/functypes/IDTest.java
+++ b/src/test/java/bjc/test/functypes/IDTest.java
@@ -1,4 +1,4 @@
-package bjc.functypes;
+package bjc.test.functypes;
import static org.junit.Assert.*;
@@ -6,6 +6,8 @@ import java.util.function.*;
import org.junit.*;
+import bjc.functypes.ID;
+
@SuppressWarnings("javadoc")
public class IDTest {
diff --git a/src/test/java/bjc/test/functypes/optics/LensesTest.java b/src/test/java/bjc/test/functypes/optics/LensesTest.java
new file mode 100644
index 0000000..ff13a42
--- /dev/null
+++ b/src/test/java/bjc/test/functypes/optics/LensesTest.java
@@ -0,0 +1,18 @@
+package bjc.test.functypes.optics;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import bjc.data.Holder;
+import bjc.functypes.optics.Lenses;
+
+public class LensesTest {
+
+ @Test
+ public void test() {
+ Holder<Integer> holder = Holder.of(5);
+
+ }
+
+}
diff --git a/src/test/java/bjc/test/functypes/optics/package-info.java b/src/test/java/bjc/test/functypes/optics/package-info.java
new file mode 100644
index 0000000..45e69ec
--- /dev/null
+++ b/src/test/java/bjc/test/functypes/optics/package-info.java
@@ -0,0 +1 @@
+package bjc.test.functypes.optics; \ No newline at end of file
diff --git a/tags b/tags
new file mode 100644
index 0000000..f80d282
--- /dev/null
+++ b/tags
@@ -0,0 +1,1375 @@
+!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
+!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
+!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
+!_TAG_PROGRAM_NAME Exuberant Ctags //
+!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
+!_TAG_PROGRAM_VERSION 5.8 //
+AbbrevMap2 src/main/java/bjc/esodata/AbbrevMap2.java /^ public AbbrevMap2() {$/;" m class:AbbrevMap2
+AbbrevMap2 src/main/java/bjc/esodata/AbbrevMap2.java /^public class AbbrevMap2 {$/;" c
+AbbrevNode src/main/java/bjc/esodata/AbbrevTree.java /^ public AbbrevNode(String label, Contained data, AbbrevTree<Contained> container) {$/;" m class:AbbrevNode
+AbbrevNode src/main/java/bjc/esodata/AbbrevTree.java /^ public interface AbbrevNode<Contained> {$/;" i class:AbbrevTree
+AbbrevNode src/main/java/bjc/esodata/AbbrevTree.java /^class AbbrevNode<Contained> {$/;" c
+AbbrevTree src/main/java/bjc/esodata/AbbrevTree.java /^public class AbbrevTree<Contained> {$/;" c
+ArrayChooser src/main/java/bjc/functypes/ArrayChooser.java /^public interface ArrayChooser<ElementType> {$/;" i
+ArrayIterator src/main/java/bjc/data/ArrayIterator.java /^ public ArrayIterator(T... elms) {$/;" m class:ArrayIterator
+ArrayIterator src/main/java/bjc/data/ArrayIterator.java /^public class ArrayIterator<T> implements Iterator<T> {$/;" c
+ArrayIteratorTest src/test/java/bjc/data/ArrayIteratorTest.java /^public class ArrayIteratorTest {$/;" c
+Bifunctor src/main/java/bjc/funcdata/theory/Bifunctor.java /^public interface Bifunctor<LeftType, RightType> {$/;" i
+BifunctorMap src/main/java/bjc/funcdata/theory/Bifunctor.java /^ public interface BifunctorMap<OldLeft, OldRight, NewLeft, NewRight>$/;" i interface:Bifunctor
+BinarySearchTree src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ public BinarySearchTree(final Comparator<T> cmp) {$/;" m class:BinarySearchTree
+BinarySearchTree src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^public class BinarySearchTree<T> {$/;" c
+BinarySearchTreeExample src/example/java/bjc/funcdata/bst/BinarySearchTreeExample.java /^public class BinarySearchTreeExample {$/;" c
+BinarySearchTreeLeaf src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ public BinarySearchTreeLeaf(final T element) {$/;" m class:BinarySearchTreeLeaf
+BinarySearchTreeLeaf src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^public class BinarySearchTreeLeaf<T> implements TreePart<T> {$/;" c
+BinarySearchTreeNode src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ public BinarySearchTreeNode(final T element, final TreePart<T> lft,$/;" m class:BinarySearchTreeNode
+BinarySearchTreeNode src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^public class BinarySearchTreeNode<T> extends BinarySearchTreeLeaf<T> {$/;" c
+BooleanToggle src/main/java/bjc/data/BooleanToggle.java /^ public BooleanToggle() {$/;" m class:BooleanToggle
+BooleanToggle src/main/java/bjc/data/BooleanToggle.java /^ public BooleanToggle(final boolean initial) {$/;" m class:BooleanToggle
+BooleanToggle src/main/java/bjc/data/BooleanToggle.java /^public class BooleanToggle implements Toggle<Boolean> {$/;" c
+BooleanToggleTest src/test/java/bjc/data/BooleanToggleTest.java /^public class BooleanToggleTest {$/;" c
+BoundLazy src/main/java/bjc/data/internals/BoundLazy.java /^ public BoundLazy(final Supplier<Holder<OldType>> supp,$/;" m class:BoundLazy
+BoundLazy src/main/java/bjc/data/internals/BoundLazy.java /^public class BoundLazy<OldType, BoundContainedType>$/;" c
+BoundLazyPair src/main/java/bjc/data/internals/BoundLazyPair.java /^ public BoundLazyPair(final Supplier<OldLeft> leftSupp,$/;" m class:BoundLazyPair
+BoundLazyPair src/main/java/bjc/data/internals/BoundLazyPair.java /^public class BoundLazyPair<OldLeft, OldRight, NewLeft, NewRight>$/;" c
+BoundListHolder src/main/java/bjc/data/internals/BoundListHolder.java /^ public BoundListHolder(final ListEx<Holder<ContainedType>> toHold) {$/;" m class:BoundListHolder
+BoundListHolder src/main/java/bjc/data/internals/BoundListHolder.java /^public class BoundListHolder<ContainedType> implements Holder<ContainedType> {$/;" c
+CircularIterator src/main/java/bjc/data/CircularIterator.java /^ public CircularIterator(final Iterable<E> src) {$/;" m class:CircularIterator
+CircularIterator src/main/java/bjc/data/CircularIterator.java /^ public CircularIterator(final Iterable<E> src, final boolean circ) {$/;" m class:CircularIterator
+CircularIterator src/main/java/bjc/data/CircularIterator.java /^public class CircularIterator<E> implements Iterator<E> {$/;" c
+CircularIteratorTest src/test/java/bjc/data/CircularIteratorTest.java /^public class CircularIteratorTest {$/;" c
+Combinators src/main/java/bjc/functypes/Combinators.java /^public class Combinators {$/;" c
+Context src/main/java/bjc/data/Context.java /^public interface Context {$/;" i
+ContextImpl src/main/java/bjc/data/Contexts.java /^ public ContextImpl(Context parent) {$/;" m class:Contexts.ContextImpl
+ContextImpl src/main/java/bjc/data/Contexts.java /^ private static class ContextImpl implements Context {$/;" c class:Contexts
+Contexts src/main/java/bjc/data/Contexts.java /^ private Contexts() {$/;" m class:Contexts file:
+Contexts src/main/java/bjc/data/Contexts.java /^public class Contexts {$/;" c
+DefaultList src/main/java/bjc/esodata/DefaultList.java /^ public DefaultList() {$/;" m class:DefaultList
+DefaultList src/main/java/bjc/esodata/DefaultList.java /^ public DefaultList(List<ValueType> backer) {$/;" m class:DefaultList
+DefaultList src/main/java/bjc/esodata/DefaultList.java /^ public DefaultList(List<ValueType> backer, ValueType defVal) {$/;" m class:DefaultList
+DefaultList src/main/java/bjc/esodata/DefaultList.java /^ public DefaultList(ValueType defVal) {$/;" m class:DefaultList
+DefaultList src/main/java/bjc/esodata/DefaultList.java /^public class DefaultList<ValueType> extends AbstractList<ValueType> {$/;" c
+DirectedWalkFunction src/main/java/bjc/funcdata/bst/DirectedWalkFunction.java /^public interface DirectedWalkFunction<T> {$/;" i
+DirectedWalkResult src/main/java/bjc/funcdata/bst/DirectedWalkFunction.java /^ public enum DirectedWalkResult {$/;" g interface:DirectedWalkFunction
+Directory src/main/java/bjc/esodata/Directory.java /^public interface Directory<K, V> {$/;" i
+DoubleSided src/main/java/bjc/esodata/DoubleSided.java /^public interface DoubleSided {$/;" i
+DoubleTape src/main/java/bjc/esodata/DoubleTape.java /^ public DoubleTape() {$/;" m class:DoubleTape
+DoubleTape src/main/java/bjc/esodata/DoubleTape.java /^ public DoubleTape(final boolean autoExtnd) {$/;" m class:DoubleTape
+DoubleTape src/main/java/bjc/esodata/DoubleTape.java /^public class DoubleTape<T> implements Tape<T>, DoubleSided {$/;" c
+Either src/main/java/bjc/data/Either.java /^ private Either(final LeftType left, final RightType right) {$/;" m class:Either file:
+Either src/main/java/bjc/data/Either.java /^public class Either<LeftType, RightType> {$/;" c
+EitherTest src/test/java/bjc/data/EitherTest.java /^public class EitherTest$/;" c
+ExtendedMap src/main/java/bjc/funcdata/ExtendedMap.java /^ public ExtendedMap(final MapEx<KeyType, ValueType> delegate,$/;" m class:ExtendedMap
+ExtendedMap src/main/java/bjc/funcdata/ExtendedMap.java /^class ExtendedMap<KeyType, ValueType> implements MapEx<KeyType, ValueType> {$/;" c
+FAILURE src/main/java/bjc/funcdata/bst/DirectedWalkFunction.java /^ FAILURE,$/;" e enum:DirectedWalkFunction.DirectedWalkResult file:
+FixpointExample src/example/java/bjc/functypes/FixpointExample.java /^public class FixpointExample$/;" c
+Fixpoints src/main/java/bjc/functypes/Fixpoints.java /^public interface Fixpoints {$/;" i
+FlatNestIterator src/main/java/bjc/esodata/FlatNestIterator.java /^ public FlatNestIterator(ListIterator<Either<Element, NestList<Element>>> iterator)$/;" m class:FlatNestIterator
+FlatNestIterator src/main/java/bjc/esodata/FlatNestIterator.java /^final class FlatNestIterator<Element> implements ListIterator<Element>$/;" c
+Freezable src/main/java/bjc/funcdata/Freezable.java /^public interface Freezable {$/;" i
+FunctionalIsomorphism src/main/java/bjc/functypes/FunctionalIsomorphism.java /^ public FunctionalIsomorphism(Function<Source, Dest> to,$/;" m class:FunctionalIsomorphism
+FunctionalIsomorphism src/main/java/bjc/functypes/FunctionalIsomorphism.java /^public class FunctionalIsomorphism<Source, Dest> implements Isomorphism<Source, Dest>$/;" c
+FunctionalList src/main/java/bjc/funcdata/FunctionalList.java /^ private FunctionalList(final int size) {$/;" m class:FunctionalList file:
+FunctionalList src/main/java/bjc/funcdata/FunctionalList.java /^ public FunctionalList() {$/;" m class:FunctionalList
+FunctionalList src/main/java/bjc/funcdata/FunctionalList.java /^ public FunctionalList(final E... items) {$/;" m class:FunctionalList
+FunctionalList src/main/java/bjc/funcdata/FunctionalList.java /^ public FunctionalList(final List<E> backing) {$/;" m class:FunctionalList
+FunctionalList src/main/java/bjc/funcdata/FunctionalList.java /^public class FunctionalList<E> implements Cloneable, ListEx<E> {$/;" c
+FunctionalMap src/main/java/bjc/funcdata/FunctionalMap.java /^ public FunctionalMap() {$/;" m class:FunctionalMap
+FunctionalMap src/main/java/bjc/funcdata/FunctionalMap.java /^ public FunctionalMap(final Map<KeyType, ValueType> wrap) {$/;" m class:FunctionalMap
+FunctionalMap src/main/java/bjc/funcdata/FunctionalMap.java /^ public FunctionalMap(final Pair<KeyType, ValueType>... entries) {$/;" m class:FunctionalMap
+FunctionalMap src/main/java/bjc/funcdata/FunctionalMap.java /^public class FunctionalMap<KeyType, ValueType> implements MapEx<KeyType, ValueType> {$/;" c
+FunctionalStringTokenizer src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^ public FunctionalStringTokenizer(final String inp) {$/;" m class:FunctionalStringTokenizer
+FunctionalStringTokenizer src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^ public FunctionalStringTokenizer(final String input, final String seperators) {$/;" m class:FunctionalStringTokenizer
+FunctionalStringTokenizer src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^ public FunctionalStringTokenizer(final StringTokenizer toWrap) {$/;" m class:FunctionalStringTokenizer
+FunctionalStringTokenizer src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^public class FunctionalStringTokenizer {$/;" c
+Functor src/main/java/bjc/funcdata/theory/Functor.java /^public interface Functor<ContainedType> {$/;" i
+GeneratingIterator src/main/java/bjc/data/GeneratingIterator.java /^ public GeneratingIterator(E initial, UnaryOperator<E> transition,$/;" m class:GeneratingIterator
+GeneratingIterator src/main/java/bjc/data/GeneratingIterator.java /^public class GeneratingIterator<E> implements Iterator<E> {$/;" c
+HalfBoundLazyPair src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^ public HalfBoundLazyPair(final Supplier<OldType> oldSupp,$/;" m class:HalfBoundLazyPair
+HalfBoundLazyPair src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^public class HalfBoundLazyPair<OldType, NewLeft, NewRight>$/;" c
+Holder src/main/java/bjc/data/Holder.java /^public interface Holder<ContainedType> extends Functor<ContainedType> {$/;" i
+ID src/main/java/bjc/data/SimpleTree.java /^ private int ID;$/;" f class:SimpleTree file:
+ID src/main/java/bjc/functypes/ID.java /^public class ID {$/;" c
+IDTest src/test/java/bjc/functypes/IDTest.java /^public class IDTest {$/;" c
+INORDER src/main/java/bjc/funcdata/bst/TreeLinearizationMethod.java /^ INORDER,$/;" e enum:TreeLinearizationMethod file:
+Identity src/main/java/bjc/data/Identity.java /^ public Identity() {$/;" m class:Identity
+Identity src/main/java/bjc/data/Identity.java /^ public Identity(final ContainedType value) {$/;" m class:Identity
+Identity src/main/java/bjc/data/Identity.java /^public class Identity<ContainedType> implements Holder<ContainedType> {$/;" c
+IntArrayChooser src/main/java/bjc/functypes/IntArrayChooser.java /^public interface IntArrayChooser {$/;" i
+IntHolder src/main/java/bjc/data/IntHolder.java /^ public IntHolder() {$/;" m class:IntHolder
+IntHolder src/main/java/bjc/data/IntHolder.java /^ public IntHolder(int i) {$/;" m class:IntHolder
+IntHolder src/main/java/bjc/data/IntHolder.java /^public class IntHolder {$/;" c
+Isomorphism src/main/java/bjc/functypes/Isomorphism.java /^public interface Isomorphism<Source, Dest>$/;" i
+LEFT src/main/java/bjc/funcdata/bst/DirectedWalkFunction.java /^ LEFT,$/;" e enum:DirectedWalkFunction.DirectedWalkResult file:
+Lazy src/main/java/bjc/data/Lazy.java /^ private Lazy(final Supplier<ContainedType> supp,$/;" m class:Lazy file:
+Lazy src/main/java/bjc/data/Lazy.java /^ public Lazy(final ContainedType value) {$/;" m class:Lazy
+Lazy src/main/java/bjc/data/Lazy.java /^ public Lazy(final Supplier<ContainedType> supp) {$/;" m class:Lazy
+Lazy src/main/java/bjc/data/Lazy.java /^public class Lazy<ContainedType> implements Holder<ContainedType> {$/;" c
+LazyPair src/main/java/bjc/data/LazyPair.java /^ public LazyPair(final LeftType leftVal, final RightType rightVal) {$/;" m class:LazyPair
+LazyPair src/main/java/bjc/data/LazyPair.java /^ public LazyPair(final Supplier<LeftType> leftSupp,$/;" m class:LazyPair
+LazyPair src/main/java/bjc/data/LazyPair.java /^public class LazyPair<LeftType, RightType> implements Pair<LeftType, RightType> {$/;" c
+LeftBifunctorMap src/main/java/bjc/funcdata/theory/Bifunctor.java /^ public interface LeftBifunctorMap<OldLeft, OldRight, NewLeft>$/;" i interface:Bifunctor
+ListEx src/main/java/bjc/funcdata/ListEx.java /^public interface ListEx<ContainedType> extends Iterable<ContainedType> {$/;" i
+ListFlattener src/main/java/bjc/functypes/ListFlattener.java /^public interface ListFlattener<S> extends Function<ListEx<S>, S> {$/;" i
+ListHolder src/main/java/bjc/data/ListHolder.java /^ private ListHolder(final ListEx<ContainedType> toHold) {$/;" m class:ListHolder file:
+ListHolder src/main/java/bjc/data/ListHolder.java /^ public ListHolder(final ContainedType... values) {$/;" m class:ListHolder
+ListHolder src/main/java/bjc/data/ListHolder.java /^public class ListHolder<ContainedType> implements Holder<ContainedType> {$/;" c
+MapEx src/main/java/bjc/funcdata/MapEx.java /^public interface MapEx<KeyType, ValueType> extends Freezable {$/;" i
+MapSet src/main/java/bjc/esodata/MapSet.java /^ public MapSet() {$/;" m class:MapSet
+MapSet src/main/java/bjc/esodata/MapSet.java /^ public MapSet(Map<String, Map<KeyType, ValueType>> back) {$/;" m class:MapSet
+MapSet src/main/java/bjc/esodata/MapSet.java /^public class MapSet<KeyType, ValueType> extends AbstractMap<KeyType, ValueType> {$/;" c
+MemoizedThrower src/main/java/bjc/functypes/Thrower.java /^ public MemoizedThrower(Thrower<ValueType, ExceptionType> source)$/;" m class:MemoizedThrower
+MemoizedThrower src/main/java/bjc/functypes/Thrower.java /^class MemoizedThrower<ValueType, ExceptionType extends Throwable>$/;" c
+MinMaxList src/main/java/bjc/esodata/MinMaxList.java /^ public MinMaxList(Comparator<ValueType> picker) {$/;" m class:MinMaxList
+MinMaxList src/main/java/bjc/esodata/MinMaxList.java /^ public MinMaxList(Comparator<ValueType> picker, Collection<ValueType> backing) {$/;" m class:MinMaxList
+MinMaxList src/main/java/bjc/esodata/MinMaxList.java /^ public MinMaxList(Comparator<ValueType> picker, List<ValueType> backing) {$/;" m class:MinMaxList
+MinMaxList src/main/java/bjc/esodata/MinMaxList.java /^ public MinMaxList(Comparator<ValueType> picker, ValueType... values) {$/;" m class:MinMaxList
+MinMaxList src/main/java/bjc/esodata/MinMaxList.java /^public class MinMaxList<ValueType> extends AbstractList<ValueType> {$/;" c
+MinMaxListTest src/test/java/bjc/esodata/MinMaxListTest.java /^public class MinMaxListTest {$/;" c
+Multimap src/main/java/bjc/data/Multimap.java /^public class Multimap<KeyType, ValueType> {$/;" c
+Multimap src/main/java/bjc/esodata/Multimap.java /^ public Multimap() {$/;" m class:Multimap
+Multimap src/main/java/bjc/esodata/Multimap.java /^public class Multimap<KeyType, ValueType> {$/;" c
+NULL src/main/java/bjc/data/Contexts.java /^ public static final Context NULL = new NullContextImpl();$/;" f class:Contexts
+NestList src/main/java/bjc/esodata/NestList.java /^ public NestList() {$/;" m class:NestList
+NestList src/main/java/bjc/esodata/NestList.java /^ public NestList(int cap) {$/;" m class:NestList
+NestList src/main/java/bjc/esodata/NestList.java /^public class NestList<Element> extends AbstractList<Either<Element, NestList<Element>>>$/;" c
+NestListTest src/test/java/bjc/esodata/NestListTest.java /^public class NestListTest$/;" c
+NonCMEIterator src/main/java/bjc/data/NonCMEIterator.java /^ public NonCMEIterator(List<ElementType> source) {$/;" m class:NonCMEIterator
+NonCMEIterator src/main/java/bjc/data/NonCMEIterator.java /^public class NonCMEIterator<ElementType> implements Iterator<ElementType> {$/;" c
+NonCMEListIterator src/main/java/bjc/data/NonCMEListIterator.java /^ public NonCMEListIterator(List<ElementType> source) {$/;" m class:NonCMEListIterator
+NonCMEListIterator src/main/java/bjc/data/NonCMEListIterator.java /^public class NonCMEListIterator<ElementType> extends NonCMEIterator<ElementType> implements ListIterator<ElementType> {$/;" c
+NullContextImpl src/main/java/bjc/data/Contexts.java /^ private static class NullContextImpl implements Context {$/;" c class:Contexts
+ObjectFrozen src/main/java/bjc/funcdata/ObjectFrozen.java /^ public ObjectFrozen() {$/;" m class:ObjectFrozen
+ObjectFrozen src/main/java/bjc/funcdata/ObjectFrozen.java /^ public ObjectFrozen(String message) {$/;" m class:ObjectFrozen
+ObjectFrozen src/main/java/bjc/funcdata/ObjectFrozen.java /^ public ObjectFrozen(String message, Throwable cause) {$/;" m class:ObjectFrozen
+ObjectFrozen src/main/java/bjc/funcdata/ObjectFrozen.java /^ public ObjectFrozen(Throwable cause) {$/;" m class:ObjectFrozen
+ObjectFrozen src/main/java/bjc/funcdata/ObjectFrozen.java /^public class ObjectFrozen extends RuntimeException {$/;" c
+OneWayToggle src/main/java/bjc/data/OneWayToggle.java /^ public OneWayToggle(E first, E second) {$/;" m class:OneWayToggle
+OneWayToggle src/main/java/bjc/data/OneWayToggle.java /^public class OneWayToggle<E> implements Toggle<E> {$/;" c
+Option src/main/java/bjc/data/Option.java /^ public Option() {$/;" m class:Option
+Option src/main/java/bjc/data/Option.java /^ public Option(final ContainedType seed) {$/;" m class:Option
+Option src/main/java/bjc/data/Option.java /^public class Option<ContainedType> implements Holder<ContainedType> {$/;" c
+PASSTHROUGH src/main/java/bjc/data/TopDownTransformResult.java /^ PASSTHROUGH,$/;" e enum:TopDownTransformResult file:
+POSTORDER src/main/java/bjc/funcdata/bst/TreeLinearizationMethod.java /^ POSTORDER,$/;" e enum:TreeLinearizationMethod file:
+PREORDER src/main/java/bjc/funcdata/bst/TreeLinearizationMethod.java /^ PREORDER$/;" e enum:TreeLinearizationMethod file:
+PULLUP src/main/java/bjc/data/TopDownTransformResult.java /^ PULLUP;$/;" e enum:TopDownTransformResult file:
+PUSHDOWN src/main/java/bjc/data/TopDownTransformResult.java /^ PUSHDOWN,$/;" e enum:TopDownTransformResult file:
+Pair src/main/java/bjc/data/Pair.java /^public interface Pair<LeftType, RightType> extends Bifunctor<LeftType, RightType> {$/;" i
+PushdownMap src/main/java/bjc/esodata/PushdownMap.java /^ public PushdownMap() {$/;" m class:PushdownMap
+PushdownMap src/main/java/bjc/esodata/PushdownMap.java /^public class PushdownMap<KeyType, ValueType> implements MapEx<KeyType, ValueType> {$/;" c
+QueueStack src/main/java/bjc/esodata/QueueStack.java /^ public QueueStack() {$/;" m class:QueueStack
+QueueStack src/main/java/bjc/esodata/QueueStack.java /^public class QueueStack<T> extends Stack<T> {$/;" c
+QueuedIterator src/main/java/bjc/data/QueuedIterator.java /^ public QueuedIterator() {$/;" m class:QueuedIterator
+QueuedIterator src/main/java/bjc/data/QueuedIterator.java /^ public QueuedIterator(E... vals) {$/;" m class:QueuedIterator
+QueuedIterator src/main/java/bjc/data/QueuedIterator.java /^ public QueuedIterator(Iterable<E>... inits) {$/;" m class:QueuedIterator
+QueuedIterator src/main/java/bjc/data/QueuedIterator.java /^ public QueuedIterator(Iterator<E>... inits) {$/;" m class:QueuedIterator
+QueuedIterator src/main/java/bjc/data/QueuedIterator.java /^public class QueuedIterator<E> implements Iterator<E> {$/;" c
+QueuedIteratorTest src/test/java/bjc/data/QueuedIteratorTest.java /^public class QueuedIteratorTest {$/;" c
+RIGHT src/main/java/bjc/funcdata/bst/DirectedWalkFunction.java /^ RIGHT,$/;" e enum:DirectedWalkFunction.DirectedWalkResult file:
+RTRANSFORM src/main/java/bjc/data/TopDownTransformResult.java /^ RTRANSFORM,$/;" e enum:TopDownTransformResult file:
+ResettableIterator src/main/java/bjc/data/ResettableIterator.java /^ public ResettableIterator(Iterable<T> itr) {$/;" m class:ResettableIterator
+ResettableIterator src/main/java/bjc/data/ResettableIterator.java /^ public ResettableIterator(Iterator<T> itr) {$/;" m class:ResettableIterator
+ResettableIterator src/main/java/bjc/data/ResettableIterator.java /^public class ResettableIterator<T> implements Iterator<T> {$/;" c
+ReverseListIterator src/main/java/bjc/data/ReverseListIterator.java /^ public ReverseListIterator(List<Element> source)$/;" m class:ReverseListIterator
+ReverseListIterator src/main/java/bjc/data/ReverseListIterator.java /^public class ReverseListIterator<Element> implements ListIterator<Element>$/;" c
+RightBifunctorMap src/main/java/bjc/funcdata/theory/Bifunctor.java /^ public interface RightBifunctorMap<OldLeft, OldRight, NewRight>$/;" i interface:Bifunctor
+SKIP src/main/java/bjc/data/TopDownTransformResult.java /^ SKIP,$/;" e enum:TopDownTransformResult file:
+SUCCESS src/main/java/bjc/funcdata/bst/DirectedWalkFunction.java /^ SUCCESS$/;" e enum:DirectedWalkFunction.DirectedWalkResult file:
+SentryList src/main/java/bjc/funcdata/SentryList.java /^ public SentryList() {$/;" m class:SentryList
+SentryList src/main/java/bjc/funcdata/SentryList.java /^ public SentryList(final List<T> backing) {$/;" m class:SentryList
+SentryList src/main/java/bjc/funcdata/SentryList.java /^public class SentryList<T> extends FunctionalList<T> {$/;" c
+SetView src/main/java/bjc/esodata/ThresholdSet.java /^ private class SetView extends AbstractSet<KeyType> {$/;" c class:ThresholdSet
+SimpleDirectory src/main/java/bjc/esodata/SimpleDirectory.java /^ public SimpleDirectory() {$/;" m class:SimpleDirectory
+SimpleDirectory src/main/java/bjc/esodata/SimpleDirectory.java /^public class SimpleDirectory<K, V> implements Directory<K, V> {$/;" c
+SimplePair src/main/java/bjc/data/SimplePair.java /^ public SimplePair() {$/;" m class:SimplePair
+SimplePair src/main/java/bjc/data/SimplePair.java /^ public SimplePair(final LeftType left, final RightType right) {$/;" m class:SimplePair
+SimplePair src/main/java/bjc/data/SimplePair.java /^public class SimplePair<LeftType, RightType> implements Pair<LeftType, RightType> {$/;" c
+SimpleStack src/main/java/bjc/esodata/SimpleStack.java /^ public SimpleStack() {$/;" m class:SimpleStack
+SimpleStack src/main/java/bjc/esodata/SimpleStack.java /^public class SimpleStack<T> extends Stack<T> {$/;" c
+SimpleTree src/main/java/bjc/data/SimpleTree.java /^ public SimpleTree() {$/;" m class:SimpleTree
+SimpleTree src/main/java/bjc/data/SimpleTree.java /^ public SimpleTree(final ContainedType leaf) {$/;" m class:SimpleTree
+SimpleTree src/main/java/bjc/data/SimpleTree.java /^ public SimpleTree(final ContainedType leaf, final ListEx<Tree<ContainedType>> childrn) {$/;" m class:SimpleTree
+SimpleTree src/main/java/bjc/data/SimpleTree.java /^ public SimpleTree(final ContainedType leaf, final Tree<ContainedType>... childrn) {$/;" m class:SimpleTree
+SimpleTree src/main/java/bjc/data/SimpleTree.java /^public class SimpleTree<ContainedType> implements Tree<ContainedType> {$/;" c
+SingleIterator src/main/java/bjc/data/SingleIterator.java /^ public SingleIterator(final T item) {$/;" m class:SingleIterator
+SingleIterator src/main/java/bjc/data/SingleIterator.java /^public class SingleIterator<T> implements Iterator<T> {$/;" c
+SingleSupplier src/main/java/bjc/data/SingleSupplier.java /^ public SingleSupplier(final Supplier<T> supp) {$/;" m class:SingleSupplier
+SingleSupplier src/main/java/bjc/data/SingleSupplier.java /^public class SingleSupplier<T> implements Supplier<T> {$/;" c
+SingleTape src/main/java/bjc/esodata/SingleTape.java /^ public SingleTape() {$/;" m class:SingleTape
+SingleTape src/main/java/bjc/esodata/SingleTape.java /^ public SingleTape(Iterable<T> itr) {$/;" m class:SingleTape
+SingleTape src/main/java/bjc/esodata/SingleTape.java /^ public SingleTape(T... vals) {$/;" m class:SingleTape
+SingleTape src/main/java/bjc/esodata/SingleTape.java /^ public SingleTape(final boolean autoExtnd) {$/;" m class:SingleTape
+SingleTape src/main/java/bjc/esodata/SingleTape.java /^public class SingleTape<T> implements Tape<T> {$/;" c
+SpaghettiStack src/main/java/bjc/esodata/SpaghettiStack.java /^ public SpaghettiStack(final Stack<T> par) {$/;" m class:SpaghettiStack
+SpaghettiStack src/main/java/bjc/esodata/SpaghettiStack.java /^class SpaghettiStack<T> extends Stack<T> {$/;" c
+Stack src/main/java/bjc/esodata/Stack.java /^public abstract class Stack<T> {$/;" c
+StackTest src/test/java/bjc/esodata/StackTest.java /^public class StackTest {$/;" c
+StackUnderflow src/main/java/bjc/esodata/Stack.java /^ public static class StackUnderflow extends RuntimeException {$/;" c class:Stack
+TRANSFORM src/main/java/bjc/data/TopDownTransformResult.java /^ TRANSFORM,$/;" e enum:TopDownTransformResult file:
+TS src/main/java/bjc/esodata/ThresholdSet.java /^ public static <KType> ThresholdSet<KType> TS(KType... keys) {$/;" m class:ThresholdSet
+Tape src/main/java/bjc/esodata/Tape.java /^public interface Tape<T> {$/;" i
+TapeLibrary src/main/java/bjc/esodata/TapeLibrary.java /^ public TapeLibrary()$/;" m class:TapeLibrary
+TapeLibrary src/main/java/bjc/esodata/TapeLibrary.java /^ public TapeLibrary(String label, Tape<ElementType> tape)$/;" m class:TapeLibrary
+TapeLibrary src/main/java/bjc/esodata/TapeLibrary.java /^public class TapeLibrary<ElementType> implements TapeView<ElementType>$/;" c
+TapeView src/main/java/bjc/esodata/TapeView.java /^public interface TapeView<ElementType> extends Tape<ElementType>$/;" i
+TestMapCreation src/test/java/bjc/funcdata/TestMapCreation.java /^public class TestMapCreation {$/;" c
+TestMapOperations src/test/java/bjc/funcdata/TestMapOperations.java /^public class TestMapOperations {$/;" c
+TestUtils src/test/java/bjc/TestUtils.java /^public class TestUtils {$/;" c
+ThresholdSet src/main/java/bjc/esodata/ThresholdSet.java /^ public ThresholdSet() {$/;" m class:ThresholdSet
+ThresholdSet src/main/java/bjc/esodata/ThresholdSet.java /^public class ThresholdSet<KeyType> {$/;" c
+ThresholdSetTest src/test/java/bjc/esodata/ThresholdSetTest.java /^public class ThresholdSetTest {$/;" c
+ThrowFunction src/main/java/bjc/functypes/ThrowFunction.java /^public interface ThrowFunction<InputType, ReturnType, ExType extends Throwable>$/;" i
+Thrower src/main/java/bjc/functypes/Thrower.java /^public interface Thrower<ValueType, ExceptionType extends Throwable>$/;" i
+Toggle src/main/java/bjc/data/Toggle.java /^public interface Toggle<E> {$/;" i
+TopDownTransformIterator src/main/java/bjc/data/TopDownTransformIterator.java /^ public TopDownTransformIterator($/;" m class:TopDownTransformIterator
+TopDownTransformIterator src/main/java/bjc/data/TopDownTransformIterator.java /^public class TopDownTransformIterator<ContainedType>$/;" c
+TopDownTransformResult src/main/java/bjc/data/TopDownTransformResult.java /^public enum TopDownTransformResult {$/;" g
+TransformIterator src/main/java/bjc/data/TransformIterator.java /^ public TransformIterator(final Iterator<S> source, final Function<S, D> transform) {$/;" m class:TransformIterator
+TransformIterator src/main/java/bjc/data/TransformIterator.java /^public class TransformIterator<S, D> implements Iterator<D> {$/;" c
+TransformedValueMap src/main/java/bjc/funcdata/TransformedValueMap.java /^ public TransformedValueMap(final MapEx<OldKey, OldValue> backingMap,$/;" m class:TransformedValueMap
+TransformedValueMap src/main/java/bjc/funcdata/TransformedValueMap.java /^final class TransformedValueMap<OldKey, OldValue, NewValue>$/;" c
+Tree src/main/java/bjc/data/Tree.java /^public interface Tree<ContainedType> {$/;" i
+TreeLinearizationMethod src/main/java/bjc/funcdata/bst/TreeLinearizationMethod.java /^public enum TreeLinearizationMethod {$/;" g
+TreePart src/main/java/bjc/funcdata/bst/TreePart.java /^public interface TreePart<T> {$/;" i
+TreeTransform src/main/java/bjc/data/TopDownTransformIterator.java /^ public interface TreeTransform<ContainedType> extends BiFunction<Tree<ContainedType>,$/;" i class:TopDownTransformIterator
+UnifiedDirectory src/main/java/bjc/esodata/UnifiedDirectory.java /^ public UnifiedDirectory() {$/;" m class:UnifiedDirectory
+UnifiedDirectory src/main/java/bjc/esodata/UnifiedDirectory.java /^public class UnifiedDirectory<K, V> implements Directory<K, V> {$/;" c
+ValueToggle src/main/java/bjc/data/ValueToggle.java /^ public ValueToggle(final E left, final E right) {$/;" m class:ValueToggle
+ValueToggle src/main/java/bjc/data/ValueToggle.java /^public class ValueToggle<E> implements Toggle<E> {$/;" c
+WrappedLazy src/main/java/bjc/data/internals/WrappedLazy.java /^ private WrappedLazy(final Holder<Holder<ContainedType>> wrappedHolder,$/;" m class:WrappedLazy file:
+WrappedLazy src/main/java/bjc/data/internals/WrappedLazy.java /^ public WrappedLazy(final Holder<ContainedType> wrappedHolder) {$/;" m class:WrappedLazy
+WrappedLazy src/main/java/bjc/data/internals/WrappedLazy.java /^public class WrappedLazy<ContainedType> implements Holder<ContainedType> {$/;" c
+WrappedOption src/main/java/bjc/data/internals/WrappedOption.java /^ private WrappedOption(final Holder<Holder<ContainedType>> toHold,$/;" m class:WrappedOption file:
+WrappedOption src/main/java/bjc/data/internals/WrappedOption.java /^ public WrappedOption(final Holder<ContainedType> seedValue) {$/;" m class:WrappedOption
+WrappedOption src/main/java/bjc/data/internals/WrappedOption.java /^public class WrappedOption<ContainedType> implements Holder<ContainedType> {$/;" c
+actions src/main/java/bjc/data/Lazy.java /^ private ListEx<UnaryOperator<ContainedType>> actions = new FunctionalList<>();$/;" f class:Lazy file:
+actions src/main/java/bjc/data/internals/BoundLazy.java /^ private final ListEx<UnaryOperator<BoundContainedType>> actions$/;" f class:BoundLazy file:
+add src/main/java/bjc/data/NonCMEListIterator.java /^ public void add(ElementType element) {$/;" m class:NonCMEListIterator
+add src/main/java/bjc/data/ReverseListIterator.java /^ public void add(Element element) {$/;" m class:ReverseListIterator
+add src/main/java/bjc/esodata/AbbrevMap2.java /^ public void add(String... words) {$/;" m class:AbbrevMap2
+add src/main/java/bjc/esodata/DefaultList.java /^ public void add(int idx, ValueType val) {$/;" m class:DefaultList
+add src/main/java/bjc/esodata/FlatNestIterator.java /^ public void add(Element e) {$/;" m class:FlatNestIterator
+add src/main/java/bjc/esodata/MinMaxList.java /^ public void add(int index, ValueType element) {$/;" m class:MinMaxList
+add src/main/java/bjc/esodata/Multimap.java /^ public void add(KeyType key, ValueType value) {$/;" m class:Multimap
+add src/main/java/bjc/esodata/NestList.java /^ public boolean add(Either<Element, NestList<Element>> e) {$/;" m class:NestList
+add src/main/java/bjc/esodata/NestList.java /^ public void add(int index, Either<Element, NestList<Element>> element) {$/;" m class:NestList
+add src/main/java/bjc/esodata/ThresholdSet.java /^ public boolean add(KeyType key) {$/;" m class:ThresholdSet.SetView
+add src/main/java/bjc/esodata/ThresholdSet.java /^ public int add(KeyType key) {$/;" m class:ThresholdSet
+add src/main/java/bjc/funcdata/FunctionalList.java /^ public boolean add(final E item) {$/;" m class:FunctionalList
+add src/main/java/bjc/funcdata/ListEx.java /^ boolean add(ContainedType item);$/;" m interface:ListEx
+add src/main/java/bjc/funcdata/SentryList.java /^ public boolean add(final T item) {$/;" m class:SentryList
+add src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ public void add(final T element, final Comparator<T> comparator) {$/;" m class:BinarySearchTreeLeaf
+add src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ public void add(final T element, final Comparator<T> comparator) {$/;" m class:BinarySearchTreeNode
+add src/main/java/bjc/funcdata/bst/TreePart.java /^ public void add(T element, Comparator<T> comparator);$/;" m interface:TreePart
+addAll src/main/java/bjc/funcdata/ListEx.java /^ default boolean addAll(final ContainedType... items) {$/;" m interface:ListEx
+addAll src/main/java/bjc/funcdata/ListEx.java /^ default boolean addAll(final ListEx<ContainedType> items) {$/;" m interface:ListEx
+addChild src/main/java/bjc/data/SimpleTree.java /^ public void addChild(final ContainedType child) {$/;" m class:SimpleTree
+addChild src/main/java/bjc/data/SimpleTree.java /^ public void addChild(final Tree<ContainedType> child) {$/;" m class:SimpleTree
+addChild src/main/java/bjc/data/Tree.java /^ void addChild(ContainedType child);$/;" m interface:Tree
+addChild src/main/java/bjc/data/Tree.java /^ void addChild(Tree<ContainedType> child);$/;" m interface:Tree
+addChild src/main/java/bjc/esodata/AbbrevTree.java /^ public void addChild(String label, String contained);$/;" m interface:AbbrevTree.AbbrevNode
+addItem src/main/java/bjc/esodata/NestList.java /^ public boolean addItem(Element element) {$/;" m class:NestList
+addItem src/main/java/bjc/esodata/NestList.java /^ public boolean addItem(NestList<Element> element) {$/;" m class:NestList
+addItems src/main/java/bjc/esodata/NestList.java /^ public boolean[] addItems(@SuppressWarnings("unchecked") Element... elements) {$/;" m class:NestList
+addItems src/main/java/bjc/esodata/NestList.java /^ public boolean[] addItems(@SuppressWarnings("unchecked") NestList<Element>... elements) {$/;" m class:NestList
+addKeys src/main/java/bjc/esodata/ThresholdSet.java /^ public int[] addKeys(@SuppressWarnings("unchecked") KeyType... keys) {$/;" m class:ThresholdSet
+addMap src/main/java/bjc/esodata/MapSet.java /^ public void addMap(String key, Map<KeyType, ValueType> map) {$/;" m class:MapSet
+addNode src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ public void addNode(final T element) {$/;" m class:BinarySearchTree
+addSublist src/main/java/bjc/esodata/NestList.java /^ public boolean addSublist(@SuppressWarnings("unchecked") Element... elements) {$/;" m class:NestList
+addYield src/main/java/bjc/data/TopDownTransformIterator.java /^ public void addYield(final Iterator<Tree<ContainedType>> src) {$/;" m class:TopDownTransformIterator
+adjustedPivotInBounds src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ private boolean adjustedPivotInBounds(final ListEx<T> elements, final int pivot,$/;" m class:BinarySearchTree file:
+after src/main/java/bjc/data/QueuedIterator.java /^ public void after(@SuppressWarnings("unchecked") E... vals) {$/;" m class:QueuedIterator
+after src/main/java/bjc/data/QueuedIterator.java /^ public void after(Iterable<E> itr) {$/;" m class:QueuedIterator
+after src/main/java/bjc/data/QueuedIterator.java /^ public void after(Iterator<E> itr) {$/;" m class:QueuedIterator
+alignment src/main/java/bjc/data/ValueToggle.java /^ private final BooleanToggle alignment;$/;" f class:ValueToggle file:
+allMatch src/main/java/bjc/funcdata/FunctionalList.java /^ public boolean allMatch(final Predicate<E> predicate) {$/;" m class:FunctionalList
+allMatch src/main/java/bjc/funcdata/ListEx.java /^ boolean allMatch(Predicate<ContainedType> matcher);$/;" m interface:ListEx
+allowAutoCreation src/main/java/bjc/esodata/TapeLibrary.java /^ private boolean allowAutoCreation;$/;" f class:TapeLibrary file:
+andThen src/main/java/bjc/functypes/Combinators.java /^ public static <Input, Output> Consumer<Input> andThen($/;" m class:Combinators
+anyMatch src/main/java/bjc/funcdata/FunctionalList.java /^ public boolean anyMatch(final Predicate<E> predicate) {$/;" m class:FunctionalList
+anyMatch src/main/java/bjc/funcdata/ListEx.java /^ boolean anyMatch(Predicate<ContainedType> matcher);$/;" m interface:ListEx
+append src/main/java/bjc/esodata/SingleTape.java /^ public void append(T itm) {$/;" m class:SingleTape
+append src/main/java/bjc/esodata/Tape.java /^ default void append(T itm) {$/;" m interface:Tape
+apply src/main/java/bjc/esodata/Stack.java /^ public void apply(final int n, final Consumer<Stack<T>> action) {$/;" m class:Stack
+apply src/main/java/bjc/functypes/ThrowFunction.java /^ public ReturnType apply(InputType arg) throws ExType;$/;" m interface:ThrowFunction
+around src/main/java/bjc/functypes/Combinators.java /^ public static <Input, Output> Function<Input, Output> around($/;" m class:Combinators
+arr src/main/java/bjc/data/ArrayIterator.java /^ private Object[] arr;$/;" f class:ArrayIterator file:
+asMap src/main/java/bjc/esodata/TapeLibrary.java /^ public Map<String, Tape<ElementType>> asMap()$/;" m class:TapeLibrary
+assertIteratorEquals src/test/java/bjc/TestUtils.java /^ public static <T> void assertIteratorEquals(Iterator<T> src, T... vals) {$/;" m class:TestUtils
+assertIteratorEquals src/test/java/bjc/TestUtils.java /^ public static <T> void assertIteratorEquals(boolean hasMore, Iterator<T> src,$/;" m class:TestUtils
+assertIteratorSet src/test/java/bjc/TestUtils.java /^ public static <T> void assertIteratorSet(Iterator<T> src, T... vals) {$/;" m class:TestUtils
+assertIteratorSet src/test/java/bjc/TestUtils.java /^ public static <T> void assertIteratorSet(boolean hasMore, Iterator<T> src,$/;" m class:TestUtils
+assertListEquals src/test/java/bjc/TestUtils.java /^ public static <T> void assertListEquals(List<T> src, T... exps) {$/;" m class:TestUtils
+assertStackEquals src/test/java/bjc/TestUtils.java /^ public static <T> void assertStackEquals(bjc.esodata.Stack<T> src, T... exps) {$/;" m class:TestUtils
+atEnd src/main/java/bjc/esodata/Tape.java /^ default boolean atEnd() {$/;" m interface:Tape
+autoExtend src/main/java/bjc/esodata/SingleTape.java /^ protected boolean autoExtend;$/;" f class:SingleTape
+back src/main/java/bjc/esodata/DoubleTape.java /^ private Tape<T> back;$/;" f class:DoubleTape file:
+backing src/main/java/bjc/data/ResettableIterator.java /^ private Iterator<T> backing;$/;" f class:ResettableIterator file:
+backing src/main/java/bjc/esodata/AbbrevMap2.java /^ private Multimap<String, String> backing;$/;" f class:AbbrevMap2 file:
+backing src/main/java/bjc/esodata/DefaultList.java /^ private List<ValueType> backing;$/;" f class:DefaultList file:
+backing src/main/java/bjc/esodata/MapSet.java /^ private Map<String, Map<KeyType, ValueType>> backing;$/;" f class:MapSet file:
+backing src/main/java/bjc/esodata/MinMaxList.java /^ private final List<ValueType> backing;$/;" f class:MinMaxList file:
+backing src/main/java/bjc/esodata/Multimap.java /^ private Map<KeyType, ThresholdSet<ValueType>> backing;$/;" f class:Multimap file:
+backing src/main/java/bjc/esodata/NestList.java /^ private final List<Either<Element, NestList<Element>>> backing;$/;" f class:NestList file:
+backing src/main/java/bjc/esodata/PushdownMap.java /^ private final MapEx<KeyType, Stack<ValueType>> backing;$/;" f class:PushdownMap file:
+backing src/main/java/bjc/esodata/QueueStack.java /^ private final Deque<T> backing;$/;" f class:QueueStack file:
+backing src/main/java/bjc/esodata/SimpleStack.java /^ private final Deque<T> backing;$/;" f class:SimpleStack file:
+backing src/main/java/bjc/esodata/SingleTape.java /^ protected ArrayList<T> backing;$/;" f class:SingleTape
+backing src/main/java/bjc/esodata/SpaghettiStack.java /^ private final Stack<T> backing;$/;" f class:SpaghettiStack file:
+backing src/main/java/bjc/funcdata/TransformedValueMap.java /^ private final MapEx<OldKey, OldValue> backing;$/;" f class:TransformedValueMap file:
+balance src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ public void balance() {$/;" m class:BinarySearchTree
+before src/main/java/bjc/data/QueuedIterator.java /^ public void before(@SuppressWarnings("unchecked") E... vals) {$/;" m class:QueuedIterator
+before src/main/java/bjc/data/QueuedIterator.java /^ public void before(Iterable<E> itr) {$/;" m class:QueuedIterator
+before src/main/java/bjc/data/QueuedIterator.java /^ public void before(Iterator<E> itr) {$/;" m class:QueuedIterator
+beforeThis src/main/java/bjc/functypes/Combinators.java /^ public static <Input, Output> Function<Input, Output> beforeThis($/;" m class:Combinators
+bimap src/main/java/bjc/funcdata/theory/Bifunctor.java /^ bimap(final Function<OldLeft, NewLeft> leftFunc,$/;" m interface:Bifunctor
+bind src/main/java/bjc/data/Holder.java /^ bind(Function<ContainedType, Holder<BoundType>> binder);$/;" m interface:Holder
+bind src/main/java/bjc/data/Identity.java /^ bind(final Function<ContainedType, Holder<BoundType>> binder) {$/;" m class:Identity
+bind src/main/java/bjc/data/Lazy.java /^ bind(final Function<ContainedType, Holder<BoundType>> binder) {$/;" m class:Lazy
+bind src/main/java/bjc/data/LazyPair.java /^ public <BoundLeft, BoundRight> Pair<BoundLeft, BoundRight> bind($/;" m class:LazyPair
+bind src/main/java/bjc/data/ListHolder.java /^ bind(final Function<ContainedType, Holder<BoundType>> binder) {$/;" m class:ListHolder
+bind src/main/java/bjc/data/Option.java /^ bind(final Function<ContainedType, Holder<BoundType>> binder) {$/;" m class:Option
+bind src/main/java/bjc/data/Pair.java /^ bind(BiFunction<LeftType, RightType, Pair<BoundLeft, BoundRight>> binder);$/;" m interface:Pair
+bind src/main/java/bjc/data/SimplePair.java /^ public <BoundLeft, BoundRight> Pair<BoundLeft, BoundRight> bind($/;" m class:SimplePair
+bind src/main/java/bjc/data/internals/BoundLazy.java /^ bind(final Function<BoundContainedType, Holder<BoundType>> bindr) {$/;" m class:BoundLazy
+bind src/main/java/bjc/data/internals/BoundLazyPair.java /^ public <BoundLeft, BoundRight> Pair<BoundLeft, BoundRight> bind($/;" m class:BoundLazyPair
+bind src/main/java/bjc/data/internals/BoundListHolder.java /^ bind(final Function<ContainedType, Holder<BoundType>> binder) {$/;" m class:BoundListHolder
+bind src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^ public <BoundLeft, BoundRight> Pair<BoundLeft, BoundRight> bind($/;" m class:HalfBoundLazyPair
+bind src/main/java/bjc/data/internals/WrappedLazy.java /^ bind(final Function<ContainedType, Holder<BoundType>> binder) {$/;" m class:WrappedLazy
+bind src/main/java/bjc/data/internals/WrappedOption.java /^ bind(final Function<ContainedType, Holder<BoundType>> binder) {$/;" m class:WrappedOption
+bind src/main/java/bjc/functypes/Thrower.java /^ default <NewOutputType> Thrower<NewOutputType, ExceptionType> bind($/;" m interface:Thrower
+bindLeft src/main/java/bjc/data/LazyPair.java /^ bindLeft(final Function<LeftType, Pair<BoundLeft, RightType>> leftBinder) {$/;" m class:LazyPair
+bindLeft src/main/java/bjc/data/Pair.java /^ bindLeft(Function<LeftType, Pair<BoundLeft, RightType>> leftBinder);$/;" m interface:Pair
+bindLeft src/main/java/bjc/data/SimplePair.java /^ bindLeft(final Function<LeftType, Pair<BoundLeft, RightType>> leftBinder) {$/;" m class:SimplePair
+bindLeft src/main/java/bjc/data/internals/BoundLazyPair.java /^ bindLeft(final Function<NewLeft, Pair<BoundLeft, NewRight>> leftBinder) {$/;" m class:BoundLazyPair
+bindLeft src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^ bindLeft(final Function<NewLeft, Pair<BoundLeft, NewRight>> leftBinder) {$/;" m class:HalfBoundLazyPair
+bindRight src/main/java/bjc/data/LazyPair.java /^ public <BoundRight> Pair<LeftType, BoundRight> bindRight($/;" m class:LazyPair
+bindRight src/main/java/bjc/data/Pair.java /^ bindRight(Function<RightType, Pair<LeftType, BoundRight>> rightBinder);$/;" m interface:Pair
+bindRight src/main/java/bjc/data/SimplePair.java /^ public <BoundRight> Pair<LeftType, BoundRight> bindRight($/;" m class:SimplePair
+bindRight src/main/java/bjc/data/internals/BoundLazyPair.java /^ bindRight(final Function<NewRight, Pair<NewLeft, BoundRight>> rightBinder) {$/;" m class:BoundLazyPair
+bindRight src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^ bindRight(final Function<NewRight, Pair<NewLeft, BoundRight>> rightBinder) {$/;" m class:HalfBoundLazyPair
+binder src/main/java/bjc/data/internals/BoundLazy.java /^ private final Function<OldType, Holder<BoundContainedType>> binder;$/;" f class:BoundLazy file:
+binder src/main/java/bjc/data/internals/BoundLazyPair.java /^ private final BiFunction<OldLeft, OldRight, Pair<NewLeft, NewRight>> binder;$/;" f class:BoundLazyPair file:
+binder src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^ private final Function<OldType, Pair<NewLeft, NewRight>> binder;$/;" f class:HalfBoundLazyPair file:
+bjc src/test/java/bjc/TestUtils.java /^package bjc;$/;" p
+bjc.data src/main/java/bjc/data/ArrayIterator.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/BooleanToggle.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/CircularIterator.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/Context.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/Contexts.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/Either.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/GeneratingIterator.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/Holder.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/Identity.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/IntHolder.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/Lazy.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/LazyPair.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/ListHolder.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/Multimap.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/NonCMEIterator.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/NonCMEListIterator.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/OneWayToggle.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/Option.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/Pair.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/QueuedIterator.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/ResettableIterator.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/ReverseListIterator.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/SimplePair.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/SimpleTree.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/SingleIterator.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/SingleSupplier.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/Toggle.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/TopDownTransformIterator.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/TopDownTransformResult.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/TransformIterator.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/Tree.java /^package bjc.data;$/;" p
+bjc.data src/main/java/bjc/data/ValueToggle.java /^package bjc.data;$/;" p
+bjc.data src/test/java/bjc/data/ArrayIteratorTest.java /^package bjc.data;$/;" p
+bjc.data src/test/java/bjc/data/BooleanToggleTest.java /^package bjc.data;$/;" p
+bjc.data src/test/java/bjc/data/CircularIteratorTest.java /^package bjc.data;$/;" p
+bjc.data src/test/java/bjc/data/EitherTest.java /^package bjc.data;$/;" p
+bjc.data src/test/java/bjc/data/QueuedIteratorTest.java /^package bjc.data;$/;" p
+bjc.data.internals src/main/java/bjc/data/internals/BoundLazy.java /^package bjc.data.internals;$/;" p
+bjc.data.internals src/main/java/bjc/data/internals/BoundLazyPair.java /^package bjc.data.internals;$/;" p
+bjc.data.internals src/main/java/bjc/data/internals/BoundListHolder.java /^package bjc.data.internals;$/;" p
+bjc.data.internals src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^package bjc.data.internals;$/;" p
+bjc.data.internals src/main/java/bjc/data/internals/WrappedLazy.java /^package bjc.data.internals;$/;" p
+bjc.data.internals src/main/java/bjc/data/internals/WrappedOption.java /^package bjc.data.internals;$/;" p
+bjc.esodata src/main/java/bjc/esodata/AbbrevMap2.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/AbbrevTree.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/DefaultList.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/Directory.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/DoubleSided.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/DoubleTape.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/FlatNestIterator.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/MapSet.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/MinMaxList.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/Multimap.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/NestList.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/PushdownMap.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/QueueStack.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/SimpleDirectory.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/SimpleStack.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/SingleTape.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/SpaghettiStack.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/Stack.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/Tape.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/TapeLibrary.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/TapeView.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/ThresholdSet.java /^package bjc.esodata;$/;" p
+bjc.esodata src/main/java/bjc/esodata/UnifiedDirectory.java /^package bjc.esodata;$/;" p
+bjc.esodata src/test/java/bjc/esodata/MinMaxListTest.java /^package bjc.esodata;$/;" p
+bjc.esodata src/test/java/bjc/esodata/NestListTest.java /^package bjc.esodata;$/;" p
+bjc.esodata src/test/java/bjc/esodata/StackTest.java /^package bjc.esodata;$/;" p
+bjc.esodata src/test/java/bjc/esodata/ThresholdSetTest.java /^package bjc.esodata;$/;" p
+bjc.funcdata src/main/java/bjc/funcdata/ExtendedMap.java /^package bjc.funcdata;$/;" p
+bjc.funcdata src/main/java/bjc/funcdata/Freezable.java /^package bjc.funcdata;$/;" p
+bjc.funcdata src/main/java/bjc/funcdata/FunctionalList.java /^package bjc.funcdata;$/;" p
+bjc.funcdata src/main/java/bjc/funcdata/FunctionalMap.java /^package bjc.funcdata;$/;" p
+bjc.funcdata src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^package bjc.funcdata;$/;" p
+bjc.funcdata src/main/java/bjc/funcdata/ListEx.java /^package bjc.funcdata;$/;" p
+bjc.funcdata src/main/java/bjc/funcdata/MapEx.java /^package bjc.funcdata;$/;" p
+bjc.funcdata src/main/java/bjc/funcdata/ObjectFrozen.java /^package bjc.funcdata;$/;" p
+bjc.funcdata src/main/java/bjc/funcdata/SentryList.java /^package bjc.funcdata;$/;" p
+bjc.funcdata src/main/java/bjc/funcdata/TransformedValueMap.java /^package bjc.funcdata;$/;" p
+bjc.funcdata src/test/java/bjc/funcdata/TestMapCreation.java /^package bjc.funcdata;$/;" p
+bjc.funcdata src/test/java/bjc/funcdata/TestMapOperations.java /^package bjc.funcdata;$/;" p
+bjc.funcdata.bst src/example/java/bjc/funcdata/bst/BinarySearchTreeExample.java /^package bjc.funcdata.bst;$/;" p
+bjc.funcdata.bst src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^package bjc.funcdata.bst;$/;" p
+bjc.funcdata.bst src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^package bjc.funcdata.bst;$/;" p
+bjc.funcdata.bst src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^package bjc.funcdata.bst;$/;" p
+bjc.funcdata.bst src/main/java/bjc/funcdata/bst/DirectedWalkFunction.java /^package bjc.funcdata.bst;$/;" p
+bjc.funcdata.bst src/main/java/bjc/funcdata/bst/TreeLinearizationMethod.java /^package bjc.funcdata.bst;$/;" p
+bjc.funcdata.bst src/main/java/bjc/funcdata/bst/TreePart.java /^package bjc.funcdata.bst;$/;" p
+bjc.funcdata.theory src/main/java/bjc/funcdata/theory/Bifunctor.java /^package bjc.funcdata.theory;$/;" p
+bjc.funcdata.theory src/main/java/bjc/funcdata/theory/Functor.java /^package bjc.funcdata.theory;$/;" p
+bjc.functypes src/example/java/bjc/functypes/FixpointExample.java /^package bjc.functypes;$/;" p
+bjc.functypes src/main/java/bjc/functypes/ArrayChooser.java /^package bjc.functypes;$/;" p
+bjc.functypes src/main/java/bjc/functypes/Combinators.java /^package bjc.functypes;$/;" p
+bjc.functypes src/main/java/bjc/functypes/Fixpoints.java /^package bjc.functypes;$/;" p
+bjc.functypes src/main/java/bjc/functypes/FunctionalIsomorphism.java /^package bjc.functypes;$/;" p
+bjc.functypes src/main/java/bjc/functypes/ID.java /^package bjc.functypes;$/;" p
+bjc.functypes src/main/java/bjc/functypes/IntArrayChooser.java /^package bjc.functypes;$/;" p
+bjc.functypes src/main/java/bjc/functypes/Isomorphism.java /^package bjc.functypes;$/;" p
+bjc.functypes src/main/java/bjc/functypes/ListFlattener.java /^package bjc.functypes;$/;" p
+bjc.functypes src/main/java/bjc/functypes/ThrowFunction.java /^package bjc.functypes;$/;" p
+bjc.functypes src/main/java/bjc/functypes/Thrower.java /^package bjc.functypes;$/;" p
+bjc.functypes src/test/java/bjc/functypes/IDTest.java /^package bjc.functypes;$/;" p
+boundHolder src/main/java/bjc/data/internals/BoundLazy.java /^ private Holder<BoundContainedType> boundHolder;$/;" f class:BoundLazy file:
+boundPair src/main/java/bjc/data/internals/BoundLazyPair.java /^ private Pair<NewLeft, NewRight> boundPair;$/;" f class:BoundLazyPair file:
+boundPair src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^ private Pair<NewLeft, NewRight> boundPair;$/;" f class:HalfBoundLazyPair file:
+cache src/main/java/bjc/data/ResettableIterator.java /^ private List<T> cache;$/;" f class:ResettableIterator file:
+cacheIterator src/main/java/bjc/data/ResettableIterator.java /^ private Iterator<T> cacheIterator;$/;" f class:ResettableIterator file:
+calculateBoth src/main/java/bjc/esodata/MinMaxList.java /^ private void calculateBoth() {$/;" m class:MinMaxList file:
+calculateMaximum src/main/java/bjc/esodata/MinMaxList.java /^ private void calculateMaximum() {$/;" m class:MinMaxList file:
+calculateMinimum src/main/java/bjc/esodata/MinMaxList.java /^ private void calculateMinimum() {$/;" m class:MinMaxList file:
+canFreeze src/main/java/bjc/esodata/PushdownMap.java /^ public boolean canFreeze() {$/;" m class:PushdownMap
+canFreeze src/main/java/bjc/funcdata/ExtendedMap.java /^ public boolean canFreeze() {$/;" m class:ExtendedMap
+canFreeze src/main/java/bjc/funcdata/Freezable.java /^ default boolean canFreeze() {$/;" m interface:Freezable
+canFreeze src/main/java/bjc/funcdata/FunctionalMap.java /^ public boolean canFreeze() {$/;" m class:FunctionalMap
+canFreeze src/main/java/bjc/funcdata/TransformedValueMap.java /^ public boolean canFreeze() {$/;" m class:TransformedValueMap
+canFreezeMap src/test/java/bjc/funcdata/TestMapOperations.java /^ public void canFreezeMap() {$/;" m class:TestMapOperations
+canThaw src/main/java/bjc/esodata/PushdownMap.java /^ public boolean canThaw() {$/;" m class:PushdownMap
+canThaw src/main/java/bjc/funcdata/ExtendedMap.java /^ public boolean canThaw() {$/;" m class:ExtendedMap
+canThaw src/main/java/bjc/funcdata/Freezable.java /^ default boolean canThaw() {$/;" m interface:Freezable
+canThaw src/main/java/bjc/funcdata/FunctionalMap.java /^ public boolean canThaw() {$/;" m class:FunctionalMap
+canThaw src/main/java/bjc/funcdata/TransformedValueMap.java /^ public boolean canThaw() {$/;" m class:TransformedValueMap
+childCount src/main/java/bjc/data/SimpleTree.java /^ private int childCount = 0;$/;" f class:SimpleTree file:
+children src/main/java/bjc/data/SimpleTree.java /^ private ListEx<Tree<ContainedType>> children;$/;" f class:SimpleTree file:
+children src/main/java/bjc/esodata/AbbrevTree.java /^ private List<AbbrevNode<Contained>> children;$/;" f class:AbbrevNode file:
+children src/main/java/bjc/esodata/SimpleDirectory.java /^ private final MapEx<K, Directory<K, V>> children;$/;" f class:SimpleDirectory file:
+children src/main/java/bjc/esodata/UnifiedDirectory.java /^ private final MapEx<K, Directory<K, V>> children;$/;" f class:UnifiedDirectory file:
+choose src/main/java/bjc/functypes/ArrayChooser.java /^ public ElementType choose(@SuppressWarnings("unchecked") ElementType... elements);$/;" m interface:ArrayChooser
+choose src/main/java/bjc/functypes/IntArrayChooser.java /^ public int choose(int... ints);$/;" m interface:IntArrayChooser
+clear src/main/java/bjc/esodata/PushdownMap.java /^ public void clear() {$/;" m class:PushdownMap
+clear src/main/java/bjc/funcdata/ExtendedMap.java /^ public void clear() {$/;" m class:ExtendedMap
+clear src/main/java/bjc/funcdata/FunctionalMap.java /^ public void clear() {$/;" m class:FunctionalMap
+clear src/main/java/bjc/funcdata/MapEx.java /^ default void clear() {$/;" m interface:MapEx
+clear src/main/java/bjc/funcdata/TransformedValueMap.java /^ public void clear() {$/;" m class:TransformedValueMap
+clearCache src/main/java/bjc/data/ResettableIterator.java /^ public void clearCache() {$/;" m class:ResettableIterator
+clearMap src/main/java/bjc/esodata/MapSet.java /^ public void clearMap() {$/;" m class:MapSet
+clearOfFrozenMapFails src/test/java/bjc/funcdata/TestMapOperations.java /^ public void clearOfFrozenMapFails() {$/;" m class:TestMapOperations
+clearRemovesAllValues src/test/java/bjc/funcdata/TestMapOperations.java /^ public void clearRemovesAllValues() {$/;" m class:TestMapOperations
+cleave src/main/java/bjc/esodata/Stack.java /^ public void cleave(@SuppressWarnings("unchecked") final Consumer<Stack<T>>... actions) {$/;" m class:Stack
+cleave src/main/java/bjc/esodata/Stack.java /^ public void cleave(final List<Consumer<Stack<T>>> actions) {$/;" m class:Stack
+clone src/main/java/bjc/funcdata/FunctionalList.java /^ public ListEx<E> clone() {$/;" m class:FunctionalList
+collapse src/main/java/bjc/data/SimpleTree.java /^ public <NewType, ReturnedType> ReturnedType collapse($/;" m class:SimpleTree
+collapse src/main/java/bjc/data/Tree.java /^ <NewType, ReturnedType> ReturnedType collapse($/;" m interface:Tree
+collapse src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ public <E> E collapse(final Function<T, E> leafTransformer,$/;" m class:BinarySearchTreeLeaf
+collapse src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ public <E> E collapse(final Function<T, E> nodeCollapser,$/;" m class:BinarySearchTreeNode
+collapse src/main/java/bjc/funcdata/bst/TreePart.java /^ public <E> E collapse(Function<T, E> nodeCollapser,$/;" m interface:TreePart
+collect src/main/java/bjc/funcdata/ListEx.java /^ collect(final Collector<ContainedType, StateType, ReducedType> collector) {$/;" m interface:ListEx
+combine src/main/java/bjc/data/LazyPair.java /^ combine(final Pair<OtherLeft, OtherRight> otherPair,$/;" m class:LazyPair
+combine src/main/java/bjc/data/Pair.java /^ combine(Pair<OtherLeft, OtherRight> otherPair,$/;" m interface:Pair
+combine src/main/java/bjc/data/Pair.java /^ combine(final Pair<OtherLeft, OtherRight> otherPair) {$/;" m interface:Pair
+combine src/main/java/bjc/data/SimplePair.java /^ combine(final Pair<OtherLeft, OtherRight> otherPair,$/;" m class:SimplePair
+combine src/main/java/bjc/data/internals/BoundLazyPair.java /^ combine(final Pair<OtherLeft, OtherRight> otherPair,$/;" m class:BoundLazyPair
+combine src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^ combine(final Pair<OtherLeft, OtherRight> otherPair,$/;" m class:HalfBoundLazyPair
+combineWith src/main/java/bjc/funcdata/FunctionalList.java /^ public <T, F> ListEx<F> combineWith(final ListEx<T> rightList,$/;" m class:FunctionalList
+combineWith src/main/java/bjc/funcdata/ListEx.java /^ <OtherType, CombinedType> ListEx<CombinedType> combineWith(ListEx<OtherType> list,$/;" m interface:ListEx
+comparator src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ private final Comparator<T> comparator;$/;" f class:BinarySearchTree file:
+compose src/main/java/bjc/functypes/Combinators.java /^ public static <Left, Middle, Right> Function<Left, Right> compose($/;" m class:Combinators
+compose src/main/java/bjc/functypes/ThrowFunction.java /^ compose($/;" m interface:ThrowFunction
+concat src/main/java/bjc/functypes/Combinators.java /^ concat(Function<Input, Output1> funcA, Function<Input, Output2> funcB)$/;" m class:Combinators
+concat src/main/java/bjc/functypes/Combinators.java /^ concat(Function<Input, Output>... funcs)$/;" m class:Combinators
+container src/main/java/bjc/esodata/AbbrevTree.java /^ private AbbrevTree<Contained> container;$/;" f class:AbbrevNode file:
+contains src/main/java/bjc/esodata/Multimap.java /^ public boolean contains(KeyType key) {$/;" m class:Multimap
+contains src/main/java/bjc/esodata/Multimap.java /^ public boolean contains(KeyType key, ValueType value) {$/;" m class:Multimap
+contains src/main/java/bjc/esodata/ThresholdSet.java /^ public boolean contains(Object o) {$/;" m class:ThresholdSet.SetView
+contains src/main/java/bjc/esodata/ThresholdSet.java /^ public int contains(KeyType key) {$/;" m class:ThresholdSet
+contains src/main/java/bjc/funcdata/FunctionalList.java /^ public boolean contains(final E item) {$/;" m class:FunctionalList
+contains src/main/java/bjc/funcdata/ListEx.java /^ boolean contains(ContainedType item);$/;" m interface:ListEx
+contains src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ public boolean contains(final T element, final Comparator<T> comparator) {$/;" m class:BinarySearchTreeLeaf
+contains src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ public boolean contains(final T element, final Comparator<T> comparator) {$/;" m class:BinarySearchTreeNode
+contains src/main/java/bjc/funcdata/bst/TreePart.java /^ public boolean contains(T element, Comparator<T> comparator);$/;" m interface:TreePart
+containsExpectedKey src/test/java/bjc/funcdata/TestMapOperations.java /^ public void containsExpectedKey() {$/;" m class:TestMapOperations
+containsKey src/main/java/bjc/esodata/Directory.java /^ boolean containsKey(K key);$/;" m interface:Directory
+containsKey src/main/java/bjc/esodata/PushdownMap.java /^ public boolean containsKey(final KeyType key) {$/;" m class:PushdownMap
+containsKey src/main/java/bjc/esodata/SimpleDirectory.java /^ public boolean containsKey(final K key) {$/;" m class:SimpleDirectory
+containsKey src/main/java/bjc/esodata/UnifiedDirectory.java /^ public boolean containsKey(final K key) {$/;" m class:UnifiedDirectory
+containsKey src/main/java/bjc/funcdata/ExtendedMap.java /^ public boolean containsKey(final KeyType key) {$/;" m class:ExtendedMap
+containsKey src/main/java/bjc/funcdata/FunctionalMap.java /^ public boolean containsKey(final KeyType key) {$/;" m class:FunctionalMap
+containsKey src/main/java/bjc/funcdata/MapEx.java /^ boolean containsKey(KeyType key);$/;" m interface:MapEx
+containsKey src/main/java/bjc/funcdata/TransformedValueMap.java /^ public boolean containsKey(final OldKey key) {$/;" m class:TransformedValueMap
+containsKeys src/main/java/bjc/esodata/ThresholdSet.java /^ public int[] containsKeys(@SuppressWarnings("unchecked") KeyType... keys) {$/;" m class:ThresholdSet
+containsMap src/main/java/bjc/esodata/MapSet.java /^ public boolean containsMap(String key) {$/;" m class:MapSet
+containsMatching src/main/java/bjc/data/Tree.java /^ default boolean containsMatching(Predicate<ContainedType> pred) {$/;" m interface:Tree
+create src/main/java/bjc/data/Contexts.java /^ public static Context create() {$/;" m class:Contexts
+create src/main/java/bjc/data/Contexts.java /^ public static Context create(Context parent) {$/;" m class:Contexts
+cur src/main/java/bjc/data/QueuedIterator.java /^ private Iterator<E> cur;$/;" f class:QueuedIterator file:
+curChild src/main/java/bjc/data/TopDownTransformIterator.java /^ private TopDownTransformIterator<ContainedType> curChild;$/;" f class:TopDownTransformIterator file:
+curElm src/main/java/bjc/data/CircularIterator.java /^ private E curElm;$/;" f class:CircularIterator file:
+curr src/main/java/bjc/data/CircularIterator.java /^ private Iterator<E> curr;$/;" f class:CircularIterator file:
+currIndex src/main/java/bjc/data/NonCMEIterator.java /^ protected int currIndex;$/;" f class:NonCMEIterator
+currIndex src/main/java/bjc/data/ReverseListIterator.java /^ private int currIndex;$/;" f class:ReverseListIterator file:
+currYield src/main/java/bjc/data/TopDownTransformIterator.java /^ private Iterator<Tree<ContainedType>> currYield;$/;" f class:TopDownTransformIterator file:
+currentLabel src/main/java/bjc/esodata/TapeLibrary.java /^ private String currentLabel;$/;" f class:TapeLibrary file:
+currentLabel src/main/java/bjc/esodata/TapeLibrary.java /^ public String currentLabel()$/;" m class:TapeLibrary
+currentMap src/main/java/bjc/esodata/MapSet.java /^ private Map<KeyType, ValueType> currentMap = null;$/;" f class:MapSet file:
+currentSide src/main/java/bjc/esodata/DoubleSided.java /^ boolean currentSide();$/;" m interface:DoubleSided
+currentSide src/main/java/bjc/esodata/DoubleTape.java /^ public boolean currentSide() {$/;" m class:DoubleTape
+currentTape src/main/java/bjc/esodata/TapeLibrary.java /^ private Tape<ElementType> currentTape;$/;" f class:TapeLibrary file:
+data src/main/java/bjc/data/SimpleTree.java /^ private ContainedType data;$/;" f class:SimpleTree file:
+data src/main/java/bjc/esodata/AbbrevTree.java /^ private Contained data;$/;" f class:AbbrevNode file:
+data src/main/java/bjc/esodata/SimpleDirectory.java /^ private final MapEx<K, V> data;$/;" f class:SimpleDirectory file:
+data src/main/java/bjc/esodata/UnifiedDirectory.java /^ private final MapEx<K, V> data;$/;" f class:UnifiedDirectory file:
+data src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ protected T data;$/;" f class:BinarySearchTreeLeaf
+data src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ public T data() {$/;" m class:BinarySearchTreeLeaf
+data src/main/java/bjc/funcdata/bst/TreePart.java /^ public T data();$/;" m interface:TreePart
+deabbrev src/main/java/bjc/esodata/AbbrevMap2.java /^ public String deabbrev(String word) {$/;" m class:AbbrevMap2
+deabbrevAll src/main/java/bjc/esodata/AbbrevMap2.java /^ public Set<String> deabbrevAll(String word) {$/;" m class:AbbrevMap2
+deepFlatten src/main/java/bjc/esodata/NestList.java /^ public List<Element> deepFlatten() {$/;" m class:NestList
+deepFreeze src/main/java/bjc/esodata/PushdownMap.java /^ public boolean deepFreeze() {$/;" m class:PushdownMap
+deepFreeze src/main/java/bjc/funcdata/ExtendedMap.java /^ public boolean deepFreeze() {$/;" m class:ExtendedMap
+deepFreeze src/main/java/bjc/funcdata/Freezable.java /^ default boolean deepFreeze() {$/;" m interface:Freezable
+deepFreeze src/main/java/bjc/funcdata/FunctionalMap.java /^ public boolean deepFreeze() {$/;" m class:FunctionalMap
+deepFreeze src/main/java/bjc/funcdata/TransformedValueMap.java /^ public boolean deepFreeze() {$/;" m class:TransformedValueMap
+deepMap src/main/java/bjc/esodata/NestList.java /^ public <NewElement> NestList<NewElement> deepMap($/;" m class:NestList
+deepReduce src/main/java/bjc/esodata/NestList.java /^ public <Output> Output deepReduce($/;" m class:NestList
+deepSize src/main/java/bjc/esodata/NestList.java /^ public int deepSize() {$/;" m class:NestList
+deepdup src/main/java/bjc/esodata/Stack.java /^ public void deepdup() {$/;" m class:Stack
+deepmultirot src/main/java/bjc/esodata/Stack.java /^ public void deepmultirot(int n, int m, int i) {$/;" m class:Stack
+deepswap src/main/java/bjc/esodata/Stack.java /^ public void deepswap() {$/;" m class:Stack
+defVal src/main/java/bjc/esodata/DefaultList.java /^ private ValueType defVal;$/;" f class:DefaultList file:
+delegate src/main/java/bjc/funcdata/ExtendedMap.java /^ private final MapEx<KeyType, ValueType> delegate;$/;" f class:ExtendedMap file:
+delete src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ public void delete(final T element, final Comparator<T> comparator) {$/;" m class:BinarySearchTreeLeaf
+delete src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ public void delete(final T element, final Comparator<T> comparator) {$/;" m class:BinarySearchTreeNode
+delete src/main/java/bjc/funcdata/bst/TreePart.java /^ public void delete(T element, Comparator<T> comparator);$/;" m interface:TreePart
+deleteNode src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ public void deleteNode(final T element) {$/;" m class:BinarySearchTree
+dip src/main/java/bjc/esodata/Stack.java /^ public void dip(final Consumer<Stack<T>> action) {$/;" m class:Stack
+dip src/main/java/bjc/esodata/Stack.java /^ public void dip(final int n, final Consumer<Stack<T>> action) {$/;" m class:Stack
+directedWalk src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ public boolean directedWalk(final DirectedWalkFunction<T> treeWalker) {$/;" m class:BinarySearchTreeLeaf
+directedWalk src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ public boolean directedWalk(final DirectedWalkFunction<T> treeWalker) {$/;" m class:BinarySearchTreeNode
+directedWalk src/main/java/bjc/funcdata/bst/TreePart.java /^ public boolean directedWalk(DirectedWalkFunction<T> walker);$/;" m interface:TreePart
+display src/example/java/bjc/funcdata/bst/BinarySearchTreeExample.java /^ private static void display(final BinarySearchTree<Character> tree,$/;" m class:BinarySearchTreeExample file:
+doCircle src/main/java/bjc/data/CircularIterator.java /^ private boolean doCircle;$/;" f class:CircularIterator file:
+doForChildren src/main/java/bjc/data/SimpleTree.java /^ public void doForChildren(final Consumer<Tree<ContainedType>> action) {$/;" m class:SimpleTree
+doForChildren src/main/java/bjc/data/Tree.java /^ void doForChildren(Consumer<Tree<ContainedType>> action);$/;" m interface:Tree
+doWith src/main/java/bjc/data/Holder.java /^ public default void doWith(final Consumer<? super ContainedType> action) {$/;" m interface:Holder
+doWith src/main/java/bjc/data/Pair.java /^ public default void doWith(final BiConsumer<LeftType, RightType> consumer) {$/;" m interface:Pair
+doWith src/main/java/bjc/functypes/Combinators.java /^ public static <Type> Function<Type, Type> doWith(Consumer<Type>... consumers)$/;" m class:Combinators
+doesNotContainNotAddedKey src/test/java/bjc/funcdata/TestMapOperations.java /^ public void doesNotContainNotAddedKey() {$/;" m class:TestMapOperations
+done src/main/java/bjc/data/TopDownTransformIterator.java /^ private boolean done;$/;" f class:TopDownTransformIterator file:
+drop src/main/java/bjc/esodata/Stack.java /^ public void drop() {$/;" m class:Stack
+drop src/main/java/bjc/esodata/Stack.java /^ public void drop(final int n) {$/;" m class:Stack
+duckMap src/main/java/bjc/esodata/NestList.java /^ public <NewElement> NestList<NewElement> duckMap($/;" m class:NestList
+dup src/main/java/bjc/esodata/Stack.java /^ public void dup() {$/;" m class:Stack
+dup src/main/java/bjc/esodata/Stack.java /^ public void dup(final int n) {$/;" m class:Stack
+ejectTape src/main/java/bjc/esodata/TapeLibrary.java /^ public void ejectTape()$/;" m class:TapeLibrary
+elementCount src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ private int elementCount;$/;" f class:BinarySearchTree file:
+entrySet src/main/java/bjc/esodata/MapSet.java /^ public Set<Map.Entry<KeyType, ValueType>> entrySet() {$/;" m class:MapSet
+equals src/main/java/bjc/data/BooleanToggle.java /^ public boolean equals(final Object obj) {$/;" m class:BooleanToggle
+equals src/main/java/bjc/data/Either.java /^ public boolean equals(Object obj) {$/;" m class:Either
+equals src/main/java/bjc/data/Identity.java /^ public boolean equals(final Object obj) {$/;" m class:Identity
+equals src/main/java/bjc/data/Lazy.java /^ public boolean equals(final Object obj) {$/;" m class:Lazy
+equals src/main/java/bjc/data/LazyPair.java /^ public boolean equals(final Object obj) {$/;" m class:LazyPair
+equals src/main/java/bjc/data/ListHolder.java /^ public boolean equals(final Object obj) {$/;" m class:ListHolder
+equals src/main/java/bjc/data/Option.java /^ public boolean equals(final Object obj) {$/;" m class:Option
+equals src/main/java/bjc/data/SimplePair.java /^ public boolean equals(final Object obj) {$/;" m class:SimplePair
+equals src/main/java/bjc/data/SimpleTree.java /^ public boolean equals(final Object obj) {$/;" m class:SimpleTree
+equals src/main/java/bjc/esodata/DoubleTape.java /^ public boolean equals(final Object obj) {$/;" m class:DoubleTape
+equals src/main/java/bjc/esodata/MinMaxList.java /^ public boolean equals(Object obj) {$/;" m class:MinMaxList
+equals src/main/java/bjc/esodata/NestList.java /^ public boolean equals(Object obj) {$/;" m class:NestList
+equals src/main/java/bjc/esodata/PushdownMap.java /^ public boolean equals(final Object obj) {$/;" m class:PushdownMap
+equals src/main/java/bjc/esodata/QueueStack.java /^ public boolean equals(final Object obj) {$/;" m class:QueueStack
+equals src/main/java/bjc/esodata/SimpleDirectory.java /^ public boolean equals(final Object obj) {$/;" m class:SimpleDirectory
+equals src/main/java/bjc/esodata/SimpleStack.java /^ public boolean equals(final Object obj) {$/;" m class:SimpleStack
+equals src/main/java/bjc/esodata/SingleTape.java /^ public boolean equals(final Object obj) {$/;" m class:SingleTape
+equals src/main/java/bjc/esodata/SpaghettiStack.java /^ public boolean equals(final Object obj) {$/;" m class:SpaghettiStack
+equals src/main/java/bjc/esodata/UnifiedDirectory.java /^ public boolean equals(final Object obj) {$/;" m class:UnifiedDirectory
+equals src/main/java/bjc/funcdata/ExtendedMap.java /^ public boolean equals(Object obj) {$/;" m class:ExtendedMap
+equals src/main/java/bjc/funcdata/FunctionalMap.java /^ public boolean equals(final Object obj) {$/;" m class:FunctionalMap
+equals src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ public boolean equals(final Object obj) {$/;" m class:BinarySearchTree
+equals src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ public boolean equals(final Object obj) {$/;" m class:BinarySearchTreeLeaf
+equals src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ public boolean equals(final Object obj) {$/;" m class:BinarySearchTreeNode
+expandInto src/main/java/bjc/esodata/NestList.java /^ public NestList<Element> expandInto($/;" m class:NestList
+extend src/main/java/bjc/funcdata/MapEx.java /^ default MapEx<KeyType, ValueType> extend() {$/;" m interface:MapEx
+extend src/main/java/bjc/funcdata/MapEx.java /^ default MapEx<KeyType, ValueType> extend(MapEx<KeyType, ValueType> backer) {$/;" m interface:MapEx
+extract src/main/java/bjc/data/Either.java /^ public <Common> Common extract($/;" m class:Either
+extract src/main/java/bjc/functypes/Thrower.java /^ ValueType extract() throws ExceptionType;$/;" m interface:Thrower
+extract src/main/java/bjc/functypes/Thrower.java /^ public ValueType extract() throws ExceptionType$/;" m class:MemoizedThrower
+first src/main/java/bjc/data/OneWayToggle.java /^ private E first;$/;" f class:OneWayToggle file:
+first src/main/java/bjc/esodata/DoubleTape.java /^ public void first() {$/;" m class:DoubleTape
+first src/main/java/bjc/esodata/SingleTape.java /^ public void first() {$/;" m class:SingleTape
+first src/main/java/bjc/esodata/Tape.java /^ void first();$/;" m interface:Tape
+first src/main/java/bjc/esodata/TapeView.java /^ public default void first()$/;" m interface:TapeView
+first src/main/java/bjc/funcdata/FunctionalList.java /^ public E first() {$/;" m class:FunctionalList
+first src/main/java/bjc/funcdata/ListEx.java /^ ContainedType first();$/;" m interface:ListEx
+fix src/main/java/bjc/functypes/Fixpoints.java /^ static <InputType, ReturnType> Function<InputType, ReturnType> fix($/;" m interface:Fixpoints
+flatIterator src/main/java/bjc/esodata/NestList.java /^ public ListIterator<Element> flatIterator() {$/;" m class:NestList
+flatMap src/main/java/bjc/funcdata/FunctionalList.java /^ public <T> ListEx<T> flatMap(final Function<E, ListEx<T>> expander) {$/;" m class:FunctionalList
+flatMap src/main/java/bjc/funcdata/ListEx.java /^ flatMap(Function<ContainedType, ListEx<MappedType>> expander);$/;" m interface:ListEx
+flatMapTree src/main/java/bjc/data/SimpleTree.java /^ flatMapTree(final Function<ContainedType, Tree<ContainedType>> mapper) {$/;" m class:SimpleTree
+flatMapTree src/main/java/bjc/data/Tree.java /^ flatMapTree(final Function<ContainedType, Tree<ContainedType>> mapper) {$/;" m interface:Tree
+flatten src/main/java/bjc/esodata/NestList.java /^ public NestList<Element> flatten() {$/;" m class:NestList
+flip src/main/java/bjc/esodata/DoubleSided.java /^ void flip();$/;" m interface:DoubleSided
+flip src/main/java/bjc/esodata/DoubleTape.java /^ public void flip() {$/;" m class:DoubleTape
+flushYields src/main/java/bjc/data/TopDownTransformIterator.java /^ public Tree<ContainedType> flushYields(final Tree<ContainedType> val) {$/;" m class:TopDownTransformIterator
+fmap src/main/java/bjc/data/Holder.java /^ fmap(final Function<ArgType, ReturnType> func) {$/;" m interface:Holder
+fmap src/main/java/bjc/funcdata/theory/Functor.java /^ fmap(Function<ArgType, ReturnType> func);$/;" m interface:Functor
+fmap src/main/java/bjc/functypes/Thrower.java /^ Function<Thrower<Input, ExType>,Thrower<Output, ExType>> fmap($/;" m interface:Thrower
+fmapLeft src/main/java/bjc/data/Pair.java /^ fmapLeft(final Function<OldLeft, NewLeft> func) {$/;" m interface:Pair
+fmapLeft src/main/java/bjc/funcdata/theory/Bifunctor.java /^ fmapLeft(Function<OldLeft, NewLeft> func);$/;" m interface:Bifunctor
+fmapRight src/main/java/bjc/data/Pair.java /^ fmapRight(final Function<OldRight, NewRight> func) {$/;" m interface:Pair
+fmapRight src/main/java/bjc/funcdata/theory/Bifunctor.java /^ fmapRight(Function<OldRight, NewRight> func);$/;" m interface:Bifunctor
+forEach src/main/java/bjc/esodata/PushdownMap.java /^ public void forEach(final BiConsumer<KeyType, ValueType> action) {$/;" m class:PushdownMap
+forEach src/main/java/bjc/funcdata/ExtendedMap.java /^ public void forEach(final BiConsumer<KeyType, ValueType> action) {$/;" m class:ExtendedMap
+forEach src/main/java/bjc/funcdata/FunctionalList.java /^ public void forEach(final Consumer<? super E> action) {$/;" m class:FunctionalList
+forEach src/main/java/bjc/funcdata/FunctionalMap.java /^ public void forEach(final BiConsumer<KeyType, ValueType> action) {$/;" m class:FunctionalMap
+forEach src/main/java/bjc/funcdata/ListEx.java /^ void forEach(Consumer<? super ContainedType> action);$/;" m interface:ListEx
+forEach src/main/java/bjc/funcdata/MapEx.java /^ void forEach(BiConsumer<KeyType, ValueType> action);$/;" m interface:MapEx
+forEach src/main/java/bjc/funcdata/TransformedValueMap.java /^ public void forEach(final BiConsumer<OldKey, NewValue> action) {$/;" m class:TransformedValueMap
+forEach src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ public boolean forEach(final TreeLinearizationMethod linearizationMethod,$/;" m class:BinarySearchTreeLeaf
+forEach src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ public boolean forEach(final TreeLinearizationMethod linearizationMethod,$/;" m class:BinarySearchTreeNode
+forEach src/main/java/bjc/funcdata/bst/TreePart.java /^ public boolean forEach(TreeLinearizationMethod linearizationMethod,$/;" m interface:TreePart
+forEachGetsExpectedElements src/test/java/bjc/funcdata/TestMapOperations.java /^ public void forEachGetsExpectedElements() {$/;" m class:TestMapOperations
+forEachIndexed src/main/java/bjc/funcdata/FunctionalList.java /^ public void forEachIndexed(final BiConsumer<Integer, E> indexedAction) {$/;" m class:FunctionalList
+forEachIndexed src/main/java/bjc/funcdata/ListEx.java /^ void forEachIndexed(BiConsumer<Integer, ContainedType> action);$/;" m interface:ListEx
+forEachKey src/main/java/bjc/funcdata/MapEx.java /^ default void forEachKey(final Consumer<KeyType> action) {$/;" m interface:MapEx
+forEachKeyGetsAddedKeys src/test/java/bjc/funcdata/TestMapOperations.java /^ public void forEachKeyGetsAddedKeys() {$/;" m class:TestMapOperations
+forEachToken src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^ public void forEachToken(final Consumer<String> action) {$/;" m class:FunctionalStringTokenizer
+forEachValue src/main/java/bjc/funcdata/MapEx.java /^ default void forEachValue(final Consumer<ValueType> action) {$/;" m interface:MapEx
+forEachValueGetsAddedValues src/test/java/bjc/funcdata/TestMapOperations.java /^ public void forEachValueGetsAddedValues() {$/;" m class:TestMapOperations
+forceLeft src/main/java/bjc/data/Either.java /^ public LeftType forceLeft() {$/;" m class:Either
+forceRight src/main/java/bjc/data/Either.java /^ public RightType forceRight() {$/;" m class:Either
+freeze src/main/java/bjc/esodata/PushdownMap.java /^ public boolean freeze() {$/;" m class:PushdownMap
+freeze src/main/java/bjc/funcdata/ExtendedMap.java /^ public boolean freeze() {$/;" m class:ExtendedMap
+freeze src/main/java/bjc/funcdata/Freezable.java /^ public boolean freeze();$/;" m interface:Freezable
+freeze src/main/java/bjc/funcdata/FunctionalMap.java /^ public boolean freeze() {$/;" m class:FunctionalMap
+freeze src/main/java/bjc/funcdata/TransformedValueMap.java /^ public boolean freeze() {$/;" m class:TransformedValueMap
+from src/main/java/bjc/functypes/FunctionalIsomorphism.java /^ public Source from(Dest val)$/;" m class:FunctionalIsomorphism
+from src/main/java/bjc/functypes/Isomorphism.java /^ Source from(Dest val);$/;" m interface:Isomorphism
+from src/main/java/bjc/functypes/Isomorphism.java /^ static <Src, Dst> Isomorphism<Src, Dst> from($/;" m interface:Isomorphism
+from src/main/java/bjc/functypes/Thrower.java /^ Thrower<ValType, ? extends Throwable> from(Supplier<ValType> val)$/;" m interface:Thrower
+from src/main/java/bjc/functypes/Thrower.java /^ Thrower<ValType, ? extends Throwable> from(ValType val)$/;" m interface:Thrower
+fromFunc src/main/java/bjc/functypes/FunctionalIsomorphism.java /^ private Function<Dest, Source> fromFunc;$/;" f class:FunctionalIsomorphism file:
+fromString src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^ public static FunctionalStringTokenizer fromString(final String strang) {$/;" m class:FunctionalStringTokenizer
+front src/main/java/bjc/esodata/DoubleTape.java /^ private Tape<T> front;$/;" f class:DoubleTape file:
+frontActive src/main/java/bjc/esodata/DoubleTape.java /^ private boolean frontActive;$/;" f class:DoubleTape file:
+genAbbrevs src/main/java/bjc/esodata/AbbrevMap2.java /^ private List<String> genAbbrevs(String word) {$/;" m class:AbbrevMap2 file:
+get src/main/java/bjc/data/BooleanToggle.java /^ public Boolean get() {$/;" m class:BooleanToggle
+get src/main/java/bjc/data/Context.java /^ <T> T get(Class<T> contract);$/;" m interface:Context
+get src/main/java/bjc/data/Context.java /^ Object get(String name);$/;" m interface:Context
+get src/main/java/bjc/data/Context.java /^ default <T> T get(String name, Class<T> contract) {$/;" m interface:Context
+get src/main/java/bjc/data/Contexts.java /^ public <T> T get(Class<T> contract) {$/;" m class:Contexts.ContextImpl
+get src/main/java/bjc/data/Contexts.java /^ public <T> T get(Class<T> contract) {$/;" m class:Contexts.NullContextImpl
+get src/main/java/bjc/data/Contexts.java /^ public Object get(String name) {$/;" m class:Contexts.ContextImpl
+get src/main/java/bjc/data/Contexts.java /^ public Object get(String name) {$/;" m class:Contexts.NullContextImpl
+get src/main/java/bjc/data/IntHolder.java /^ public int get() {$/;" m class:IntHolder
+get src/main/java/bjc/data/OneWayToggle.java /^ public E get() {$/;" m class:OneWayToggle
+get src/main/java/bjc/data/SingleSupplier.java /^ public T get() {$/;" m class:SingleSupplier
+get src/main/java/bjc/data/Toggle.java /^ E get();$/;" m interface:Toggle
+get src/main/java/bjc/data/ValueToggle.java /^ public E get() {$/;" m class:ValueToggle
+get src/main/java/bjc/esodata/AbbrevTree.java /^ public Contained get(String... labels) {$/;" m class:AbbrevTree
+get src/main/java/bjc/esodata/DefaultList.java /^ public ValueType get(int idx) {$/;" m class:DefaultList
+get src/main/java/bjc/esodata/MinMaxList.java /^ public ValueType get(int index) {$/;" m class:MinMaxList
+get src/main/java/bjc/esodata/Multimap.java /^ public Set<ValueType> get(KeyType key) {$/;" m class:Multimap
+get src/main/java/bjc/esodata/NestList.java /^ public Either<Element, NestList<Element>> get(int index) {$/;" m class:NestList
+get src/main/java/bjc/esodata/PushdownMap.java /^ public Optional<ValueType> get(final KeyType key) {$/;" m class:PushdownMap
+get src/main/java/bjc/funcdata/ExtendedMap.java /^ public Optional<ValueType> get(final KeyType key) {$/;" m class:ExtendedMap
+get src/main/java/bjc/funcdata/FunctionalMap.java /^ public Optional<ValueType> get(final KeyType key) {$/;" m class:FunctionalMap
+get src/main/java/bjc/funcdata/MapEx.java /^ Optional<ValueType> get(KeyType key);$/;" m interface:MapEx
+get src/main/java/bjc/funcdata/TransformedValueMap.java /^ public Optional<NewValue> get(final OldKey key) {$/;" m class:TransformedValueMap
+getByIndex src/main/java/bjc/funcdata/FunctionalList.java /^ public E getByIndex(final int index) {$/;" m class:FunctionalList
+getByIndex src/main/java/bjc/funcdata/ListEx.java /^ ContainedType getByIndex(int index);$/;" m interface:ListEx
+getChild src/main/java/bjc/data/SimpleTree.java /^ public Tree<ContainedType> getChild(final int childNo) {$/;" m class:SimpleTree
+getChild src/main/java/bjc/data/Tree.java /^ default Tree<ContainedType> getChild(final int childNo) {$/;" m interface:Tree
+getChildrenCount src/main/java/bjc/data/SimpleTree.java /^ public int getChildrenCount() {$/;" m class:SimpleTree
+getChildrenCount src/main/java/bjc/data/Tree.java /^ int getChildrenCount();$/;" m interface:Tree
+getData src/main/java/bjc/esodata/AbbrevTree.java /^ public Contained getData();$/;" m interface:AbbrevTree.AbbrevNode
+getData src/main/java/bjc/esodata/AbbrevTree.java /^ public Contained getData() {$/;" m class:AbbrevNode
+getDefault src/main/java/bjc/esodata/DefaultList.java /^ public ValueType getDefault() {$/;" m class:DefaultList
+getHead src/main/java/bjc/data/Tree.java /^ default ContainedType getHead() {$/;" m interface:Tree
+getInternal src/main/java/bjc/funcdata/FunctionalList.java /^ public List<E> getInternal() {$/;" m class:FunctionalList
+getInternal src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^ public StringTokenizer getInternal() {$/;" m class:FunctionalStringTokenizer
+getIso src/main/java/bjc/functypes/ThrowFunction.java /^ getIso() $/;" m interface:ThrowFunction
+getKey src/main/java/bjc/esodata/Directory.java /^ V getKey(K key);$/;" m interface:Directory
+getKey src/main/java/bjc/esodata/SimpleDirectory.java /^ public V getKey(final K key) {$/;" m class:SimpleDirectory
+getKey src/main/java/bjc/esodata/UnifiedDirectory.java /^ public V getKey(final K key) {$/;" m class:UnifiedDirectory
+getLabel src/main/java/bjc/esodata/AbbrevTree.java /^ public String getLabel();$/;" m interface:AbbrevTree.AbbrevNode
+getLabel src/main/java/bjc/esodata/AbbrevTree.java /^ public String getLabel() {$/;" m class:AbbrevNode
+getLeft src/main/java/bjc/data/Either.java /^ public Optional<LeftType> getLeft() {$/;" m class:Either
+getLeft src/main/java/bjc/data/LazyPair.java /^ public LeftType getLeft() {$/;" m class:LazyPair
+getLeft src/main/java/bjc/data/Pair.java /^ public default LeftType getLeft() {$/;" m interface:Pair
+getLeft src/main/java/bjc/data/SimplePair.java /^ public LeftType getLeft() {$/;" m class:SimplePair
+getLeft src/main/java/bjc/funcdata/theory/Bifunctor.java /^ public LeftType getLeft();$/;" m interface:Bifunctor
+getMap src/main/java/bjc/esodata/MapSet.java /^ public Map<KeyType, ValueType> getMap(String key) {$/;" m class:MapSet
+getMapEntries src/main/java/bjc/esodata/MapSet.java /^ public Set<Map.Entry<String, Map<KeyType, ValueType>>> getMapEntries() {$/;" m class:MapSet
+getMapKeys src/main/java/bjc/esodata/MapSet.java /^ public Set<String> getMapKeys() {$/;" m class:MapSet
+getMapValues src/main/java/bjc/esodata/MapSet.java /^ public Collection<Map<KeyType, ValueType>> getMapValues() {$/;" m class:MapSet
+getMatching src/main/java/bjc/funcdata/FunctionalList.java /^ public ListEx<E> getMatching(final Predicate<E> predicate) {$/;" m class:FunctionalList
+getMatching src/main/java/bjc/funcdata/ListEx.java /^ ListEx<ContainedType> getMatching(Predicate<ContainedType> predicate);$/;" m interface:ListEx
+getNode src/main/java/bjc/esodata/AbbrevTree.java /^ public AbbrevNode<Contained> getNode(String... labels);$/;" m interface:AbbrevTree.AbbrevNode
+getOfNonexistentKeyThrows src/test/java/bjc/funcdata/TestMapOperations.java /^ public void getOfNonexistentKeyThrows() {$/;" m class:TestMapOperations
+getParent src/main/java/bjc/data/Context.java /^ Context getParent();$/;" m interface:Context
+getParent src/main/java/bjc/data/Contexts.java /^ public Context getParent() {$/;" m class:Contexts.ContextImpl
+getParent src/main/java/bjc/data/Contexts.java /^ public Context getParent() {$/;" m class:Contexts.NullContextImpl
+getRight src/main/java/bjc/data/Either.java /^ public Optional<RightType> getRight() {$/;" m class:Either
+getRight src/main/java/bjc/data/LazyPair.java /^ public RightType getRight() {$/;" m class:LazyPair
+getRight src/main/java/bjc/data/Pair.java /^ public default RightType getRight() {$/;" m interface:Pair
+getRight src/main/java/bjc/data/SimplePair.java /^ public RightType getRight() {$/;" m class:SimplePair
+getRight src/main/java/bjc/funcdata/theory/Bifunctor.java /^ public RightType getRight();$/;" m interface:Bifunctor
+getRoot src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ public TreePart<T> getRoot() {$/;" m class:BinarySearchTree
+getSize src/main/java/bjc/funcdata/FunctionalList.java /^ public int getSize() {$/;" m class:FunctionalList
+getSize src/main/java/bjc/funcdata/ListEx.java /^ int getSize();$/;" m interface:ListEx
+getSubdirectory src/main/java/bjc/esodata/Directory.java /^ Directory<K, V> getSubdirectory(K key);$/;" m interface:Directory
+getSubdirectory src/main/java/bjc/esodata/SimpleDirectory.java /^ public Directory<K, V> getSubdirectory(final K key) {$/;" m class:SimpleDirectory
+getSubdirectory src/main/java/bjc/esodata/UnifiedDirectory.java /^ public Directory<K, V> getSubdirectory(final K key) {$/;" m class:UnifiedDirectory
+getValue src/main/java/bjc/data/Holder.java /^ public default ContainedType getValue() {$/;" m interface:Holder
+getValue src/main/java/bjc/funcdata/theory/Functor.java /^ public ContainedType getValue();$/;" m interface:Functor
+getYieldsExpectedValue src/test/java/bjc/funcdata/TestMapOperations.java /^ public void getYieldsExpectedValue() {$/;" m class:TestMapOperations
+gotFirst src/main/java/bjc/data/OneWayToggle.java /^ private boolean gotFirst;$/;" f class:OneWayToggle file:
+gotten src/main/java/bjc/data/SingleSupplier.java /^ private boolean gotten;$/;" f class:SingleSupplier file:
+hasChildren src/main/java/bjc/data/SimpleTree.java /^ private boolean hasChildren;$/;" f class:SimpleTree file:
+hasMoreTokens src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^ public boolean hasMoreTokens() {$/;" m class:FunctionalStringTokenizer
+hasNext src/main/java/bjc/data/ArrayIterator.java /^ public boolean hasNext() {$/;" m class:ArrayIterator
+hasNext src/main/java/bjc/data/CircularIterator.java /^ public boolean hasNext() {$/;" m class:CircularIterator
+hasNext src/main/java/bjc/data/GeneratingIterator.java /^ public boolean hasNext() {$/;" m class:GeneratingIterator
+hasNext src/main/java/bjc/data/NonCMEIterator.java /^ public boolean hasNext() {$/;" m class:NonCMEIterator
+hasNext src/main/java/bjc/data/QueuedIterator.java /^ public boolean hasNext() {$/;" m class:QueuedIterator
+hasNext src/main/java/bjc/data/ResettableIterator.java /^ public boolean hasNext() {$/;" m class:ResettableIterator
+hasNext src/main/java/bjc/data/ReverseListIterator.java /^ public boolean hasNext() {$/;" m class:ReverseListIterator
+hasNext src/main/java/bjc/data/SingleIterator.java /^ public boolean hasNext() {$/;" m class:SingleIterator
+hasNext src/main/java/bjc/data/TopDownTransformIterator.java /^ public boolean hasNext() {$/;" m class:TopDownTransformIterator
+hasNext src/main/java/bjc/data/TransformIterator.java /^ public boolean hasNext() {$/;" m class:TransformIterator
+hasNext src/main/java/bjc/esodata/FlatNestIterator.java /^ public boolean hasNext() {$/;" m class:FlatNestIterator
+hasPrevious src/main/java/bjc/data/NonCMEListIterator.java /^ public boolean hasPrevious() {$/;" m class:NonCMEListIterator
+hasPrevious src/main/java/bjc/data/ReverseListIterator.java /^ public boolean hasPrevious() {$/;" m class:ReverseListIterator
+hasPrevious src/main/java/bjc/esodata/FlatNestIterator.java /^ public boolean hasPrevious() {$/;" m class:FlatNestIterator
+hasSubdirectory src/main/java/bjc/esodata/Directory.java /^ boolean hasSubdirectory(K key);$/;" m interface:Directory
+hasSubdirectory src/main/java/bjc/esodata/SimpleDirectory.java /^ public boolean hasSubdirectory(final K key) {$/;" m class:SimpleDirectory
+hasSubdirectory src/main/java/bjc/esodata/UnifiedDirectory.java /^ public boolean hasSubdirectory(final K key) {$/;" m class:UnifiedDirectory
+hasTape src/main/java/bjc/esodata/TapeLibrary.java /^ public boolean hasTape(String label) $/;" m class:TapeLibrary
+hashCode src/main/java/bjc/data/BooleanToggle.java /^ public int hashCode() {$/;" m class:BooleanToggle
+hashCode src/main/java/bjc/data/Either.java /^ public int hashCode() {$/;" m class:Either
+hashCode src/main/java/bjc/data/Identity.java /^ public int hashCode() {$/;" m class:Identity
+hashCode src/main/java/bjc/data/Lazy.java /^ public int hashCode() {$/;" m class:Lazy
+hashCode src/main/java/bjc/data/LazyPair.java /^ public int hashCode() {$/;" m class:LazyPair
+hashCode src/main/java/bjc/data/ListHolder.java /^ public int hashCode() {$/;" m class:ListHolder
+hashCode src/main/java/bjc/data/Option.java /^ public int hashCode() {$/;" m class:Option
+hashCode src/main/java/bjc/data/SimplePair.java /^ public int hashCode() {$/;" m class:SimplePair
+hashCode src/main/java/bjc/data/SimpleTree.java /^ public int hashCode() {$/;" m class:SimpleTree
+hashCode src/main/java/bjc/esodata/DoubleTape.java /^ public int hashCode() {$/;" m class:DoubleTape
+hashCode src/main/java/bjc/esodata/MinMaxList.java /^ public int hashCode() {$/;" m class:MinMaxList
+hashCode src/main/java/bjc/esodata/NestList.java /^ public int hashCode() {$/;" m class:NestList
+hashCode src/main/java/bjc/esodata/PushdownMap.java /^ public int hashCode() {$/;" m class:PushdownMap
+hashCode src/main/java/bjc/esodata/QueueStack.java /^ public int hashCode() {$/;" m class:QueueStack
+hashCode src/main/java/bjc/esodata/SimpleDirectory.java /^ public int hashCode() {$/;" m class:SimpleDirectory
+hashCode src/main/java/bjc/esodata/SimpleStack.java /^ public int hashCode() {$/;" m class:SimpleStack
+hashCode src/main/java/bjc/esodata/SingleTape.java /^ public int hashCode() {$/;" m class:SingleTape
+hashCode src/main/java/bjc/esodata/SpaghettiStack.java /^ public int hashCode() {$/;" m class:SpaghettiStack
+hashCode src/main/java/bjc/esodata/UnifiedDirectory.java /^ public int hashCode() {$/;" m class:UnifiedDirectory
+hashCode src/main/java/bjc/funcdata/ExtendedMap.java /^ public int hashCode() {$/;" m class:ExtendedMap
+hashCode src/main/java/bjc/funcdata/FunctionalMap.java /^ public int hashCode() {$/;" m class:FunctionalMap
+hashCode src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ public int hashCode() {$/;" m class:BinarySearchTree
+hashCode src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ public int hashCode() {$/;" m class:BinarySearchTreeLeaf
+hashCode src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ public int hashCode() {$/;" m class:BinarySearchTreeNode
+held src/main/java/bjc/data/Option.java /^ private ContainedType held;$/;" f class:Option file:
+held src/main/java/bjc/data/internals/WrappedLazy.java /^ private final Holder<Holder<ContainedType>> held;$/;" f class:WrappedLazy file:
+held src/main/java/bjc/data/internals/WrappedOption.java /^ private final Holder<Holder<ContainedType>> held;$/;" f class:WrappedOption file:
+heldHolders src/main/java/bjc/data/internals/BoundListHolder.java /^ private final ListEx<Holder<ContainedType>> heldHolders;$/;" f class:BoundListHolder file:
+heldValue src/main/java/bjc/data/Identity.java /^ private ContainedType heldValue;$/;" f class:Identity file:
+heldValue src/main/java/bjc/data/Lazy.java /^ private ContainedType heldValue;$/;" f class:Lazy file:
+heldValues src/main/java/bjc/data/ListHolder.java /^ private ListEx<ContainedType> heldValues;$/;" f class:ListHolder file:
+holderBound src/main/java/bjc/data/internals/BoundLazy.java /^ private boolean holderBound;$/;" f class:BoundLazy file:
+id src/main/java/bjc/data/Identity.java /^ public static <ContainedType> Identity<ContainedType> id() {$/;" m class:Identity
+id src/main/java/bjc/data/Identity.java /^ public static <ContainedType> Identity<ContainedType> id(final ContainedType val) {$/;" m class:Identity
+id src/main/java/bjc/data/SingleSupplier.java /^ private final long id;$/;" f class:SingleSupplier file:
+id src/main/java/bjc/functypes/ID.java /^ public static <A> UnaryOperator<A> id() {$/;" m class:ID
+idx src/main/java/bjc/data/ArrayIterator.java /^ private int idx;$/;" f class:ArrayIterator file:
+iftt src/main/java/bjc/functypes/Combinators.java /^ public static <Input, Output> Function<Input, Output> iftt($/;" m class:Combinators
+iftt src/main/java/bjc/functypes/Combinators.java /^ public static <Output> Output iftt($/;" m class:Combinators
+ignore src/main/java/bjc/functypes/Combinators.java /^ public static <Input> Consumer<Input> ignore(Function<Input, ?> func) {$/;" m class:Combinators
+incr src/main/java/bjc/data/IntHolder.java /^ public int incr() {$/;" m class:IntHolder
+incr src/main/java/bjc/data/IntHolder.java /^ public int incr(int i) {$/;" m class:IntHolder
+initial src/main/java/bjc/data/TopDownTransformIterator.java /^ private boolean initial;$/;" f class:TopDownTransformIterator file:
+inorderTraverse src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ private boolean inorderTraverse(final TreeLinearizationMethod linearizationMethod,$/;" m class:BinarySearchTreeNode file:
+input src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^ private final StringTokenizer input;$/;" f class:FunctionalStringTokenizer file:
+insertAfter src/main/java/bjc/esodata/DoubleTape.java /^ public void insertAfter(final T itm) {$/;" m class:DoubleTape
+insertAfter src/main/java/bjc/esodata/SingleTape.java /^ public void insertAfter(final T itm) {$/;" m class:SingleTape
+insertAfter src/main/java/bjc/esodata/Tape.java /^ void insertAfter(T itm);$/;" m interface:Tape
+insertAfter src/main/java/bjc/esodata/TapeView.java /^ public default void insertAfter(ElementType itm)$/;" m interface:TapeView
+insertBefore src/main/java/bjc/esodata/DoubleTape.java /^ public void insertBefore(final T itm) {$/;" m class:DoubleTape
+insertBefore src/main/java/bjc/esodata/SingleTape.java /^ public void insertBefore(final T itm) {$/;" m class:SingleTape
+insertBefore src/main/java/bjc/esodata/Tape.java /^ void insertBefore(T itm);$/;" m interface:Tape
+insertBefore src/main/java/bjc/esodata/TapeView.java /^ public default void insertBefore(ElementType itm)$/;" m interface:TapeView
+insertTape src/main/java/bjc/esodata/TapeLibrary.java /^ public Tape<ElementType> insertTape(String label, Tape<ElementType> tape)$/;" m class:TapeLibrary
+instSite src/main/java/bjc/data/SingleSupplier.java /^ private Exception instSite;$/;" f class:SingleSupplier file:
+intComparator src/test/java/bjc/esodata/MinMaxListTest.java /^ private final static Comparator<Integer> intComparator = (lhs, rhs) -> lhs - rhs;;$/;" f class:MinMaxListTest file:
+internalCollapse src/main/java/bjc/data/SimpleTree.java /^ private <NewType> NewType internalCollapse($/;" m class:SimpleTree file:
+internalToString src/main/java/bjc/data/SimpleTree.java /^ private void internalToString(final StringBuilder builder, final int indentLevel,$/;" m class:SimpleTree file:
+introducing src/main/java/bjc/functypes/Combinators.java /^ public static <Input, Output, State> Function<Input, Output> introducing($/;" m class:Combinators
+invoke src/main/java/bjc/functypes/Combinators.java /^ public static <Input, Output> Output invoke(Function<Input, Output> action) $/;" m class:Combinators
+invrot src/main/java/bjc/esodata/Stack.java /^ public void invrot() {$/;" m class:Stack
+isAllowAutoCreation src/main/java/bjc/esodata/TapeLibrary.java /^ public boolean isAllowAutoCreation() {$/;" m class:TapeLibrary
+isDeleted src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ protected boolean isDeleted;$/;" f class:BinarySearchTreeLeaf
+isEmpty src/main/java/bjc/esodata/QueueStack.java /^ public boolean isEmpty() {$/;" m class:QueueStack
+isEmpty src/main/java/bjc/esodata/SimpleStack.java /^ public boolean isEmpty() {$/;" m class:SimpleStack
+isEmpty src/main/java/bjc/esodata/SpaghettiStack.java /^ public boolean isEmpty() {$/;" m class:SpaghettiStack
+isEmpty src/main/java/bjc/esodata/Stack.java /^ public boolean isEmpty() {$/;" m class:Stack
+isEmpty src/main/java/bjc/funcdata/FunctionalList.java /^ public boolean isEmpty() {$/;" m class:FunctionalList
+isEmpty src/main/java/bjc/funcdata/ListEx.java /^ boolean isEmpty();$/;" m interface:ListEx
+isFrozen src/main/java/bjc/esodata/PushdownMap.java /^ private boolean isFrozen = false;$/;" f class:PushdownMap file:
+isFrozen src/main/java/bjc/esodata/PushdownMap.java /^ public boolean isFrozen() {$/;" m class:PushdownMap
+isFrozen src/main/java/bjc/funcdata/ExtendedMap.java /^ private boolean isFrozen = false;$/;" f class:ExtendedMap file:
+isFrozen src/main/java/bjc/funcdata/ExtendedMap.java /^ public boolean isFrozen() {$/;" m class:ExtendedMap
+isFrozen src/main/java/bjc/funcdata/Freezable.java /^ public boolean isFrozen();$/;" m interface:Freezable
+isFrozen src/main/java/bjc/funcdata/FunctionalMap.java /^ private boolean isFrozen = false;$/;" f class:FunctionalMap file:
+isFrozen src/main/java/bjc/funcdata/FunctionalMap.java /^ public boolean isFrozen() {$/;" m class:FunctionalMap
+isFrozen src/main/java/bjc/funcdata/TransformedValueMap.java /^ private boolean isFrozen = false;$/;" f class:TransformedValueMap file:
+isFrozen src/main/java/bjc/funcdata/TransformedValueMap.java /^ public boolean isFrozen() {$/;" m class:TransformedValueMap
+isHolding src/main/java/bjc/data/Option.java /^ private boolean isHolding;$/;" f class:Option file:
+isInTree src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ public boolean isInTree(final T element) {$/;" m class:BinarySearchTree
+isLeft src/main/java/bjc/data/Either.java /^ private boolean isLeft;$/;" f class:Either file:
+isLeft src/main/java/bjc/data/Either.java /^ public boolean isLeft() {$/;" m class:Either
+isPartitionFull src/main/java/bjc/funcdata/FunctionalList.java /^ private Boolean isPartitionFull(final int numberPerPartition,$/;" m class:FunctionalList file:
+isRepeating src/main/java/bjc/data/ResettableIterator.java /^ private boolean isRepeating = false;$/;" f class:ResettableIterator file:
+isThawed src/main/java/bjc/funcdata/Freezable.java /^ default boolean isThawed() {$/;" m interface:Freezable
+item src/main/java/bjc/esodata/DoubleTape.java /^ public T item() {$/;" m class:DoubleTape
+item src/main/java/bjc/esodata/DoubleTape.java /^ public void item(final T itm) {$/;" m class:DoubleTape
+item src/main/java/bjc/esodata/SingleTape.java /^ public T item() {$/;" m class:SingleTape
+item src/main/java/bjc/esodata/SingleTape.java /^ public void item(final T itm) {$/;" m class:SingleTape
+item src/main/java/bjc/esodata/Tape.java /^ T item();$/;" m interface:Tape
+item src/main/java/bjc/esodata/Tape.java /^ void item(T itm);$/;" m interface:Tape
+item src/main/java/bjc/esodata/TapeView.java /^ public default ElementType item()$/;" m interface:TapeView
+item src/main/java/bjc/esodata/TapeView.java /^ public default void item(ElementType itm)$/;" m interface:TapeView
+iterator src/main/java/bjc/esodata/ThresholdSet.java /^ public Iterator<KeyType> iterator() {$/;" m class:ThresholdSet.SetView
+iterator src/main/java/bjc/funcdata/ListEx.java /^ default Iterator<ContainedType> iterator() {$/;" m interface:ListEx
+iterators src/main/java/bjc/esodata/FlatNestIterator.java /^ private Deque<ListIterator<Either<Element, NestList<Element>>>> iterators;$/;" f class:FlatNestIterator file:
+itm src/main/java/bjc/data/SingleIterator.java /^ private final T itm;$/;" f class:SingleIterator file:
+keep src/main/java/bjc/esodata/Stack.java /^ public void keep(final Consumer<Stack<T>> action) {$/;" m class:Stack
+keep src/main/java/bjc/esodata/Stack.java /^ public void keep(final int n, final Consumer<Stack<T>> action) {$/;" m class:Stack
+keyList src/main/java/bjc/esodata/PushdownMap.java /^ public ListEx<KeyType> keyList() {$/;" m class:PushdownMap
+keyList src/main/java/bjc/funcdata/ExtendedMap.java /^ public ListEx<KeyType> keyList() {$/;" m class:ExtendedMap
+keyList src/main/java/bjc/funcdata/FunctionalMap.java /^ public ListEx<KeyType> keyList() {$/;" m class:FunctionalMap
+keyList src/main/java/bjc/funcdata/MapEx.java /^ ListEx<KeyType> keyList();$/;" m interface:MapEx
+keyList src/main/java/bjc/funcdata/TransformedValueMap.java /^ public ListEx<OldKey> keyList() {$/;" m class:TransformedValueMap
+keyListReturnsListOfKeys src/test/java/bjc/funcdata/TestMapOperations.java /^ public void keyListReturnsListOfKeys() {$/;" m class:TestMapOperations
+keyMap src/main/java/bjc/esodata/ThresholdSet.java /^ private Map<KeyType, Integer> keyMap;$/;" f class:ThresholdSet file:
+keySet src/main/java/bjc/esodata/ThresholdSet.java /^ private Set<KeyType> keySet;$/;" f class:ThresholdSet file:
+label src/main/java/bjc/esodata/AbbrevTree.java /^ private String label;$/;" f class:AbbrevNode file:
+last src/main/java/bjc/data/QueuedIterator.java /^ public void last(@SuppressWarnings("unchecked") E... vals) {$/;" m class:QueuedIterator
+last src/main/java/bjc/data/QueuedIterator.java /^ public void last(Iterable<E> itr) {$/;" m class:QueuedIterator
+last src/main/java/bjc/data/QueuedIterator.java /^ public void last(Iterator<E> itr) {$/;" m class:QueuedIterator
+last src/main/java/bjc/esodata/DoubleTape.java /^ public void last() {$/;" m class:DoubleTape
+last src/main/java/bjc/esodata/SingleTape.java /^ public void last() {$/;" m class:SingleTape
+last src/main/java/bjc/esodata/Tape.java /^ void last();$/;" m interface:Tape
+last src/main/java/bjc/esodata/TapeView.java /^ public default void last()$/;" m interface:TapeView
+last src/main/java/bjc/funcdata/FunctionalList.java /^ public E last() {$/;" m class:FunctionalList
+last src/main/java/bjc/funcdata/ListEx.java /^ ContainedType last();$/;" m interface:ListEx
+lazy src/main/java/bjc/data/Lazy.java /^ lazy(final Supplier<ContainedType> supp) {$/;" m class:Lazy
+lazy src/main/java/bjc/data/Lazy.java /^ public static <ContainedType> Lazy<ContainedType> lazy(final ContainedType val) {$/;" m class:Lazy
+left src/main/java/bjc/data/Either.java /^ left(final LeftType left) {$/;" m class:Either
+left src/main/java/bjc/esodata/DoubleTape.java /^ public boolean left() {$/;" m class:DoubleTape
+left src/main/java/bjc/esodata/DoubleTape.java /^ public boolean left(final int amt) {$/;" m class:DoubleTape
+left src/main/java/bjc/esodata/SingleTape.java /^ public boolean left() {$/;" m class:SingleTape
+left src/main/java/bjc/esodata/SingleTape.java /^ public boolean left(final int amt) {$/;" m class:SingleTape
+left src/main/java/bjc/esodata/Tape.java /^ boolean left();$/;" m interface:Tape
+left src/main/java/bjc/esodata/Tape.java /^ boolean left(int amt);$/;" m interface:Tape
+left src/main/java/bjc/esodata/TapeView.java /^ public default boolean left()$/;" m interface:TapeView
+left src/main/java/bjc/esodata/TapeView.java /^ public default boolean left(int amt)$/;" m interface:TapeView
+left src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ private TreePart<T> left;$/;" f class:BinarySearchTreeNode file:
+leftEither src/test/java/bjc/data/EitherTest.java /^ private Either<String, String> leftEither;$/;" f class:EitherTest file:
+leftMaterialized src/main/java/bjc/data/LazyPair.java /^ private boolean leftMaterialized;$/;" f class:LazyPair file:
+leftSupplier src/main/java/bjc/data/LazyPair.java /^ private Supplier<LeftType> leftSupplier;$/;" f class:LazyPair file:
+leftSupplier src/main/java/bjc/data/internals/BoundLazyPair.java /^ private final Supplier<OldLeft> leftSupplier;$/;" f class:BoundLazyPair file:
+leftVal src/main/java/bjc/data/Either.java /^ private LeftType leftVal;$/;" f class:Either file:
+leftValue src/main/java/bjc/data/LazyPair.java /^ private LeftType leftValue;$/;" f class:LazyPair file:
+leftValue src/main/java/bjc/data/SimplePair.java /^ private LeftType leftValue;$/;" f class:SimplePair file:
+lft src/main/java/bjc/data/ValueToggle.java /^ private final E lft;$/;" f class:ValueToggle file:
+library src/main/java/bjc/esodata/TapeLibrary.java /^ private final Map<String, Tape<ElementType>> library;$/;" f class:TapeLibrary file:
+lift src/main/java/bjc/data/Holder.java /^ lift(Function<ContainedType, NewType> func);$/;" m interface:Holder
+lift src/main/java/bjc/data/Identity.java /^ lift(final Function<ContainedType, NewType> func) {$/;" m class:Identity
+lift src/main/java/bjc/data/Lazy.java /^ lift(final Function<ContainedType, NewType> func) {$/;" m class:Lazy
+lift src/main/java/bjc/data/ListHolder.java /^ lift(final Function<ContainedType, NewType> func) {$/;" m class:ListHolder
+lift src/main/java/bjc/data/Option.java /^ lift(final Function<ContainedType, NewType> func) {$/;" m class:Option
+lift src/main/java/bjc/data/internals/BoundLazy.java /^ lift(final Function<BoundContainedType, NewType> func) {$/;" m class:BoundLazy
+lift src/main/java/bjc/data/internals/BoundListHolder.java /^ lift(final Function<ContainedType, NewType> func) {$/;" m class:BoundListHolder
+lift src/main/java/bjc/data/internals/WrappedLazy.java /^ lift(final Function<ContainedType, NewType> func) {$/;" m class:WrappedLazy
+lift src/main/java/bjc/data/internals/WrappedOption.java /^ lift(final Function<ContainedType, NewType> func) {$/;" m class:WrappedOption
+listOf src/main/java/bjc/funcdata/FunctionalList.java /^ public static <T> ListEx<T> listOf(final T... items) {$/;" m class:FunctionalList
+main src/example/java/bjc/funcdata/bst/BinarySearchTreeExample.java /^ public static void main(final String[] args) {$/;" m class:BinarySearchTreeExample
+main src/example/java/bjc/functypes/FixpointExample.java /^ public static void main(String[] args) {$/;" m class:FixpointExample
+makeLazy src/main/java/bjc/data/Holder.java /^ public default Holder<ContainedType> makeLazy() {$/;" m interface:Holder
+makeList src/main/java/bjc/data/Holder.java /^ public default Holder<ContainedType> makeList() {$/;" m interface:Holder
+makeOptional src/main/java/bjc/data/Holder.java /^ public default Holder<ContainedType> makeOptional() {$/;" m interface:Holder
+makeTotal src/main/java/bjc/functypes/ThrowFunction.java /^ makeTotal(Class<ExType> clasz)$/;" m interface:ThrowFunction
+map src/main/java/bjc/data/Either.java /^ public <NewLeft, NewRight> Either<NewLeft, NewRight> map($/;" m class:Either
+map src/main/java/bjc/data/Holder.java /^ map(Function<ContainedType, MappedType> mapper);$/;" m interface:Holder
+map src/main/java/bjc/data/Identity.java /^ map(final Function<ContainedType, MappedType> mapper) {$/;" m class:Identity
+map src/main/java/bjc/data/Lazy.java /^ map(final Function<ContainedType, MappedType> mapper) {$/;" m class:Lazy
+map src/main/java/bjc/data/ListHolder.java /^ map(final Function<ContainedType, MappedType> mapper) {$/;" m class:ListHolder
+map src/main/java/bjc/data/Option.java /^ map(final Function<ContainedType, MappedType> mapper) {$/;" m class:Option
+map src/main/java/bjc/data/internals/BoundLazy.java /^ map(final Function<BoundContainedType, MappedType> mapper) {$/;" m class:BoundLazy
+map src/main/java/bjc/data/internals/BoundListHolder.java /^ map(final Function<ContainedType, MappedType> mapper) {$/;" m class:BoundListHolder
+map src/main/java/bjc/data/internals/WrappedLazy.java /^ map(final Function<ContainedType, MappedType> mapper) {$/;" m class:WrappedLazy
+map src/main/java/bjc/data/internals/WrappedOption.java /^ map(final Function<ContainedType, MappedType> mapper) {$/;" m class:WrappedOption
+map src/main/java/bjc/esodata/NestList.java /^ public <NewElement> NestList<NewElement> map($/;" m class:NestList
+map src/main/java/bjc/funcdata/FunctionalList.java /^ public <T> ListEx<T> map(final Function<E, T> elementTransformer) {$/;" m class:FunctionalList
+map src/main/java/bjc/funcdata/ListEx.java /^ <MappedType> ListEx<MappedType> map(Function<ContainedType, MappedType> transformer);$/;" m interface:ListEx
+map src/test/java/bjc/funcdata/TestMapOperations.java /^ private MapEx<String, String> map;$/;" f class:TestMapOperations file:
+mapIsThawedByDefault src/test/java/bjc/funcdata/TestMapOperations.java /^ public void mapIsThawedByDefault() {$/;" m class:TestMapOperations
+mapLeft src/main/java/bjc/data/LazyPair.java /^ mapLeft(final Function<LeftType, NewLeft> mapper) {$/;" m class:LazyPair
+mapLeft src/main/java/bjc/data/Pair.java /^ mapLeft(Function<LeftType, NewLeft> mapper);$/;" m interface:Pair
+mapLeft src/main/java/bjc/data/SimplePair.java /^ mapLeft(final Function<LeftType, NewLeft> mapper) {$/;" m class:SimplePair
+mapLeft src/main/java/bjc/data/internals/BoundLazyPair.java /^ mapLeft(final Function<NewLeft, NewLeftType> mapper) {$/;" m class:BoundLazyPair
+mapLeft src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^ mapLeft(final Function<NewLeft, NewLeftType> mapper) {$/;" m class:HalfBoundLazyPair
+mapOfCreatesWithGivenContents src/test/java/bjc/funcdata/TestMapCreation.java /^ public void mapOfCreatesWithGivenContents() {$/;" m class:TestMapCreation
+mapOfMismatchedCountErrors src/test/java/bjc/funcdata/TestMapCreation.java /^ public void mapOfMismatchedCountErrors() {$/;" m class:TestMapCreation
+mapOfMismatchedTypeErrors src/test/java/bjc/funcdata/TestMapCreation.java /^ public void mapOfMismatchedTypeErrors() {$/;" m class:TestMapCreation
+mapOfNothingCreatesEmptyMap src/test/java/bjc/funcdata/TestMapCreation.java /^ public void mapOfNothingCreatesEmptyMap() {$/;" m class:TestMapCreation
+mapRight src/main/java/bjc/data/LazyPair.java /^ mapRight(final Function<RightType, NewRight> mapper) {$/;" m class:LazyPair
+mapRight src/main/java/bjc/data/Pair.java /^ mapRight(Function<RightType, NewRight> mapper);$/;" m interface:Pair
+mapRight src/main/java/bjc/data/SimplePair.java /^ mapRight(final Function<RightType, NewRight> mapper) {$/;" m class:SimplePair
+mapRight src/main/java/bjc/data/internals/BoundLazyPair.java /^ mapRight(final Function<NewRight, NewRightType> mapper) {$/;" m class:BoundLazyPair
+mapRight src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^ mapRight(final Function<NewRight, NewRightType> mapper) {$/;" m class:HalfBoundLazyPair
+maxElement src/main/java/bjc/esodata/MinMaxList.java /^ private ValueType maxElement;$/;" f class:MinMaxList file:
+maximum src/main/java/bjc/esodata/MinMaxList.java /^ public ValueType maximum() {$/;" m class:MinMaxList
+memoFix src/main/java/bjc/functypes/Fixpoints.java /^ static <InputType, ReturnType> Function<InputType, ReturnType> memoFix($/;" m interface:Fixpoints
+memoize src/main/java/bjc/functypes/Thrower.java /^ default Thrower<ValueType, ExceptionType> memoize() {$/;" m interface:Thrower
+merge src/main/java/bjc/data/LazyPair.java /^ merge(final BiFunction<LeftType, RightType, MergedType> merger) {$/;" m class:LazyPair
+merge src/main/java/bjc/data/Pair.java /^ merge(BiFunction<LeftType, RightType, MergedType> merger);$/;" m interface:Pair
+merge src/main/java/bjc/data/SimplePair.java /^ merge(final BiFunction<LeftType, RightType, MergedType> merger) {$/;" m class:SimplePair
+merge src/main/java/bjc/data/internals/BoundLazyPair.java /^ merge(final BiFunction<NewLeft, NewRight, MergedType> merger) {$/;" m class:BoundLazyPair
+merge src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^ merge(final BiFunction<NewLeft, NewRight, MergedType> merger) {$/;" m class:HalfBoundLazyPair
+minElement src/main/java/bjc/esodata/MinMaxList.java /^ private ValueType minElement;$/;" f class:MinMaxList file:
+minMaxListAddUpdatesMinMax src/test/java/bjc/esodata/MinMaxListTest.java /^ public void minMaxListAddUpdatesMinMax() {$/;" m class:MinMaxListTest
+minMaxListInitializesMinMax src/test/java/bjc/esodata/MinMaxListTest.java /^ public void minMaxListInitializesMinMax() {$/;" m class:MinMaxListTest
+minMaxListRemoveUpdatesMinMax src/test/java/bjc/esodata/MinMaxListTest.java /^ public void minMaxListRemoveUpdatesMinMax() {$/;" m class:MinMaxListTest
+minimum src/main/java/bjc/esodata/MinMaxList.java /^ public ValueType minimum() {$/;" m class:MinMaxList
+mountTape src/main/java/bjc/esodata/TapeLibrary.java /^ public boolean mountTape(String label)$/;" m class:TapeLibrary
+multiapply src/main/java/bjc/esodata/Stack.java /^ public void multiapply(final int n, final int m, final Consumer<Stack<T>> action) {$/;" m class:Stack
+multicleave src/main/java/bjc/esodata/Stack.java /^ public void multicleave(final int n, @SuppressWarnings("unchecked") final Consumer<Stack<T>>... actions) {$/;" m class:Stack
+multicleave src/main/java/bjc/esodata/Stack.java /^ public void multicleave(final int n, final List<Consumer<Stack<T>>> actions) {$/;" m class:Stack
+multidup src/main/java/bjc/esodata/Stack.java /^ public void multidup(final int n, final int m) {$/;" m class:Stack
+multiover src/main/java/bjc/esodata/Stack.java /^ public void multiover(final int n, final int m) {$/;" m class:Stack
+multipop src/main/java/bjc/esodata/Stack.java /^ public List<T> multipop(int n) {$/;" m class:Stack
+multipoprev src/main/java/bjc/esodata/Stack.java /^ public List<T> multipoprev(int n) {$/;" m class:Stack
+multirot src/main/java/bjc/esodata/Stack.java /^ public void multirot(int n, int i) {$/;" m class:Stack
+multispread src/main/java/bjc/esodata/Stack.java /^ public void multispread(final int n, @SuppressWarnings("unchecked") final Consumer<Stack<T>>... actions) {$/;" m class:Stack
+multispread src/main/java/bjc/esodata/Stack.java /^ public void multispread(final int n, final List<Consumer<Stack<T>>> actions) {$/;" m class:Stack
+newSubdirectory src/main/java/bjc/esodata/Directory.java /^ default Directory<K, V> newSubdirectory(final K key) {$/;" m interface:Directory
+next src/main/java/bjc/data/ArrayIterator.java /^ public T next() {$/;" m class:ArrayIterator
+next src/main/java/bjc/data/CircularIterator.java /^ public E next() {$/;" m class:CircularIterator
+next src/main/java/bjc/data/GeneratingIterator.java /^ public E next() {$/;" m class:GeneratingIterator
+next src/main/java/bjc/data/NonCMEIterator.java /^ public ElementType next() {$/;" m class:NonCMEIterator
+next src/main/java/bjc/data/QueuedIterator.java /^ public E next() {$/;" m class:QueuedIterator
+next src/main/java/bjc/data/ResettableIterator.java /^ public T next() {$/;" m class:ResettableIterator
+next src/main/java/bjc/data/ReverseListIterator.java /^ public Element next() {$/;" m class:ReverseListIterator
+next src/main/java/bjc/data/SingleIterator.java /^ public T next() {$/;" m class:SingleIterator
+next src/main/java/bjc/data/TopDownTransformIterator.java /^ public Tree<ContainedType> next() {$/;" m class:TopDownTransformIterator
+next src/main/java/bjc/data/TransformIterator.java /^ public D next() {$/;" m class:TransformIterator
+next src/main/java/bjc/esodata/FlatNestIterator.java /^ public Element next() {$/;" m class:FlatNestIterator
+nextID src/main/java/bjc/data/SimpleTree.java /^ private static int nextID = 0;$/;" f class:SimpleTree file:
+nextID src/main/java/bjc/data/SingleSupplier.java /^ private static long nextID = 0;$/;" f class:SingleSupplier file:
+nextIndex src/main/java/bjc/data/NonCMEListIterator.java /^ public int nextIndex() {$/;" m class:NonCMEListIterator
+nextIndex src/main/java/bjc/data/ReverseListIterator.java /^ public int nextIndex() {$/;" m class:ReverseListIterator
+nextIndex src/main/java/bjc/esodata/FlatNestIterator.java /^ public int nextIndex() {$/;" m class:FlatNestIterator
+nextToken src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^ public String nextToken() {$/;" m class:FunctionalStringTokenizer
+nip src/main/java/bjc/esodata/Stack.java /^ public void nip() {$/;" m class:Stack
+nip src/main/java/bjc/esodata/Stack.java /^ public void nip(final int n) {$/;" m class:Stack
+objects src/main/java/bjc/data/Contexts.java /^ private final Map<String, Object> objects;$/;" f class:Contexts.ContextImpl file:
+of src/main/java/bjc/data/Holder.java /^ static <ElementType> Holder<ElementType> of(ElementType contained) {$/;" m interface:Holder
+of src/main/java/bjc/funcdata/MapEx.java /^ static <KeyType2, ValueType2> MapEx<KeyType2, ValueType2> of(Object... args) {$/;" m interface:MapEx
+oldSupplier src/main/java/bjc/data/internals/BoundLazy.java /^ private final Supplier<Holder<OldType>> oldSupplier;$/;" f class:BoundLazy file:
+oldSupplier src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^ private final Supplier<OldType> oldSupplier;$/;" f class:HalfBoundLazyPair file:
+over src/main/java/bjc/esodata/Stack.java /^ public void over() {$/;" m class:Stack
+over src/main/java/bjc/esodata/Stack.java /^ public void over(final int n) {$/;" m class:Stack
+pair src/main/java/bjc/data/Pair.java /^ public static <Left, Right> Pair<Left, Right> pair(Left left, Right right) {$/;" m interface:Pair
+pairBound src/main/java/bjc/data/internals/BoundLazyPair.java /^ private boolean pairBound;$/;" f class:BoundLazyPair file:
+pairBound src/main/java/bjc/data/internals/HalfBoundLazyPair.java /^ private boolean pairBound;$/;" f class:HalfBoundLazyPair file:
+pairWith src/main/java/bjc/funcdata/FunctionalList.java /^ public <T> ListEx<Pair<E, T>> pairWith(final ListEx<T> rightList) {$/;" m class:FunctionalList
+pairWith src/main/java/bjc/funcdata/ListEx.java /^ <OtherType> ListEx<Pair<ContainedType, OtherType>> pairWith(ListEx<OtherType> list);$/;" m interface:ListEx
+parent src/main/java/bjc/data/Contexts.java /^ private final Context parent;$/;" f class:Contexts.ContextImpl file:
+parent src/main/java/bjc/esodata/SpaghettiStack.java /^ private final Stack<T> parent;$/;" f class:SpaghettiStack file:
+partition src/main/java/bjc/funcdata/FunctionalList.java /^ public ListEx<ListEx<E>> partition(final int numberPerPartition) {$/;" m class:FunctionalList
+partition src/main/java/bjc/funcdata/ListEx.java /^ ListEx<ListEx<ContainedType>> partition(int partitionSize);$/;" m interface:ListEx
+peek src/main/java/bjc/data/BooleanToggle.java /^ public Boolean peek() {$/;" m class:BooleanToggle
+peek src/main/java/bjc/data/OneWayToggle.java /^ public E peek() {$/;" m class:OneWayToggle
+peek src/main/java/bjc/data/Toggle.java /^ E peek();$/;" m interface:Toggle
+peek src/main/java/bjc/data/ValueToggle.java /^ public E peek() {$/;" m class:ValueToggle
+pending src/main/java/bjc/data/QueuedIterator.java /^ private Deque<Iterator<E>> pending;$/;" f class:QueuedIterator file:
+pick src/main/java/bjc/data/Either.java /^ public void pick($/;" m class:Either
+pick src/main/java/bjc/esodata/Stack.java /^ public void pick() {$/;" m class:Stack
+picker src/main/java/bjc/data/TopDownTransformIterator.java /^ private final Function<ContainedType, TopDownTransformResult> picker;$/;" f class:TopDownTransformIterator file:
+picker src/main/java/bjc/esodata/MinMaxList.java /^ private final Comparator<ValueType> picker;$/;" f class:MinMaxList file:
+pop src/main/java/bjc/esodata/QueueStack.java /^ public T pop() {$/;" m class:QueueStack
+pop src/main/java/bjc/esodata/SimpleStack.java /^ public T pop() {$/;" m class:SimpleStack
+pop src/main/java/bjc/esodata/SpaghettiStack.java /^ public T pop() {$/;" m class:SpaghettiStack
+pop src/main/java/bjc/esodata/Stack.java /^ public abstract T pop();$/;" m class:Stack
+popFirst src/main/java/bjc/funcdata/FunctionalList.java /^ public E popFirst() {$/;" m class:FunctionalList
+popFirst src/main/java/bjc/funcdata/ListEx.java /^ ContainedType popFirst();$/;" m interface:ListEx
+popLast src/main/java/bjc/funcdata/FunctionalList.java /^ public E popLast() {$/;" m class:FunctionalList
+popLast src/main/java/bjc/funcdata/ListEx.java /^ ContainedType popLast();$/;" m interface:ListEx
+pos src/main/java/bjc/esodata/SingleTape.java /^ protected int pos;$/;" f class:SingleTape
+position src/main/java/bjc/esodata/DoubleTape.java /^ public int position() {$/;" m class:DoubleTape
+position src/main/java/bjc/esodata/SingleTape.java /^ public int position() {$/;" m class:SingleTape
+position src/main/java/bjc/esodata/Tape.java /^ int position();$/;" m interface:Tape
+position src/main/java/bjc/esodata/TapeView.java /^ public default int position()$/;" m interface:TapeView
+postChildren src/main/java/bjc/data/TopDownTransformIterator.java /^ private final Deque<Tree<ContainedType>> postChildren;$/;" f class:TopDownTransformIterator file:
+postParent src/main/java/bjc/data/TopDownTransformIterator.java /^ private Tree<ContainedType> postParent;$/;" f class:TopDownTransformIterator file:
+postorderTraverse src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ private boolean postorderTraverse(final TreeLinearizationMethod linearizationMethod,$/;" m class:BinarySearchTreeNode file:
+preChildren src/main/java/bjc/data/TopDownTransformIterator.java /^ private final Deque<Tree<ContainedType>> preChildren;$/;" f class:TopDownTransformIterator file:
+preParent src/main/java/bjc/data/TopDownTransformIterator.java /^ private Tree<ContainedType> preParent;$/;" f class:TopDownTransformIterator file:
+preorderTraverse src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ private boolean preorderTraverse(final TreeLinearizationMethod linearizationMethod,$/;" m class:BinarySearchTreeNode file:
+prepend src/main/java/bjc/funcdata/FunctionalList.java /^ public void prepend(final E item) {$/;" m class:FunctionalList
+prepend src/main/java/bjc/funcdata/ListEx.java /^ void prepend(ContainedType item);$/;" m interface:ListEx
+prependAll src/main/java/bjc/funcdata/ListEx.java /^ default void prependAll(final ContainedType... items) {$/;" m interface:ListEx
+prependChild src/main/java/bjc/data/SimpleTree.java /^ public void prependChild(final Tree<ContainedType> child) {$/;" m class:SimpleTree
+prependChild src/main/java/bjc/data/Tree.java /^ void prependChild(Tree<ContainedType> child);$/;" m interface:Tree
+previous src/main/java/bjc/data/NonCMEListIterator.java /^ public ElementType previous() {$/;" m class:NonCMEListIterator
+previous src/main/java/bjc/data/ReverseListIterator.java /^ public Element previous() {$/;" m class:ReverseListIterator
+previous src/main/java/bjc/esodata/FlatNestIterator.java /^ public Element previous() {$/;" m class:FlatNestIterator
+previousIndex src/main/java/bjc/data/NonCMEListIterator.java /^ public int previousIndex() {$/;" m class:NonCMEListIterator
+previousIndex src/main/java/bjc/data/ReverseListIterator.java /^ public int previousIndex() {$/;" m class:ReverseListIterator
+previousIndex src/main/java/bjc/esodata/FlatNestIterator.java /^ public int previousIndex() {$/;" m class:FlatNestIterator
+provided src/main/java/bjc/functypes/Combinators.java /^ public static <Input, Output> Function<Input, Optional<Output>> provided($/;" m class:Combinators
+push src/main/java/bjc/esodata/QueueStack.java /^ public void push(final T elm) {$/;" m class:QueueStack
+push src/main/java/bjc/esodata/SimpleStack.java /^ public void push(final T elm) {$/;" m class:SimpleStack
+push src/main/java/bjc/esodata/SpaghettiStack.java /^ public void push(final T elm) {$/;" m class:SpaghettiStack
+push src/main/java/bjc/esodata/Stack.java /^ public abstract void push(T elm);$/;" m class:Stack
+pushAll src/main/java/bjc/esodata/Stack.java /^ public void pushAll(@SuppressWarnings("unchecked") T... elms) {$/;" m class:Stack
+pushAll src/main/java/bjc/esodata/Stack.java /^ public void pushAll(List<T> elms) {$/;" m class:Stack
+put src/main/java/bjc/esodata/MapSet.java /^ public ValueType put(KeyType key, ValueType value) {$/;" m class:MapSet
+put src/main/java/bjc/esodata/PushdownMap.java /^ public ValueType put(final KeyType key, final ValueType val) {$/;" m class:PushdownMap
+put src/main/java/bjc/funcdata/ExtendedMap.java /^ public ValueType put(final KeyType key, final ValueType val) {$/;" m class:ExtendedMap
+put src/main/java/bjc/funcdata/FunctionalMap.java /^ public ValueType put(final KeyType key, final ValueType val) {$/;" m class:FunctionalMap
+put src/main/java/bjc/funcdata/MapEx.java /^ ValueType put(KeyType key, ValueType val);$/;" m interface:MapEx
+put src/main/java/bjc/funcdata/TransformedValueMap.java /^ public NewValue put(final OldKey key, final NewValue value) {$/;" m class:TransformedValueMap
+putKey src/main/java/bjc/esodata/Directory.java /^ V putKey(K key, V val);$/;" m interface:Directory
+putKey src/main/java/bjc/esodata/SimpleDirectory.java /^ public V putKey(final K key, final V val) {$/;" m class:SimpleDirectory
+putKey src/main/java/bjc/esodata/UnifiedDirectory.java /^ public V putKey(final K key, final V val) {$/;" m class:UnifiedDirectory
+putOfExistingKeyUpdatesValue src/test/java/bjc/funcdata/TestMapOperations.java /^ public void putOfExistingKeyUpdatesValue() {$/;" m class:TestMapOperations
+putOfNonExistingKeyAddsValue src/test/java/bjc/funcdata/TestMapOperations.java /^ public void putOfNonExistingKeyAddsValue() {$/;" m class:TestMapOperations
+putSubdirectory src/main/java/bjc/esodata/Directory.java /^ Directory<K, V> putSubdirectory(K key, Directory<K, V> value);$/;" m interface:Directory
+putSubdirectory src/main/java/bjc/esodata/SimpleDirectory.java /^ public Directory<K, V> putSubdirectory(final K key, final Directory<K, V> val) {$/;" m class:SimpleDirectory
+putSubdirectory src/main/java/bjc/esodata/UnifiedDirectory.java /^ public Directory<K, V> putSubdirectory(final K key, final Directory<K, V> val) {$/;" m class:UnifiedDirectory
+queued src/main/java/bjc/data/QueuedIterator.java /^ public static <E> QueuedIterator<E> queued() {$/;" m class:QueuedIterator
+queued src/main/java/bjc/data/QueuedIterator.java /^ public static <E> QueuedIterator<E> queued(E... vals) {$/;" m class:QueuedIterator
+queued src/main/java/bjc/data/QueuedIterator.java /^ public static <E> QueuedIterator<E> queued(Iterable<E>... itrs) {$/;" m class:QueuedIterator
+queued src/main/java/bjc/data/QueuedIterator.java /^ public static <E> QueuedIterator<E> queued(Iterator<E>... itrs) {$/;" m class:QueuedIterator
+randItem src/main/java/bjc/funcdata/FunctionalList.java /^ public E randItem(final Function<Integer, Integer> rnd) {$/;" m class:FunctionalList
+randItem src/main/java/bjc/funcdata/ListEx.java /^ ContainedType randItem(Function<Integer, Integer> rnd);$/;" m interface:ListEx
+randItem src/main/java/bjc/funcdata/ListEx.java /^ default ContainedType randItem() {$/;" m interface:ListEx
+rebuildTree src/main/java/bjc/data/SimpleTree.java /^ public <MappedType> Tree<MappedType> rebuildTree($/;" m class:SimpleTree
+rebuildTree src/main/java/bjc/data/Tree.java /^ <MappedType> Tree<MappedType> rebuildTree($/;" m interface:Tree
+recalcMax src/main/java/bjc/esodata/MinMaxList.java /^ private boolean recalcMax = false;$/;" f class:MinMaxList file:
+recalcMin src/main/java/bjc/esodata/MinMaxList.java /^ private boolean recalcMin = false;$/;" f class:MinMaxList file:
+recover src/main/java/bjc/functypes/ThrowFunction.java /^ default Function<InputType, ReturnType> recover($/;" m interface:ThrowFunction
+reduce src/main/java/bjc/esodata/NestList.java /^ public <Output> Output reduce($/;" m class:NestList
+reduceAux src/main/java/bjc/funcdata/FunctionalList.java /^ public <T, F> F reduceAux(final T initialValue,$/;" m class:FunctionalList
+reduceAux src/main/java/bjc/funcdata/ListEx.java /^ <StateType, ReducedType> ReducedType reduceAux(StateType initial,$/;" m interface:ListEx
+reduceAux src/main/java/bjc/funcdata/ListEx.java /^ default <StateType> StateType reduceAux(StateType initial,$/;" m interface:ListEx
+register src/main/java/bjc/data/Context.java /^ void register(String name, Object o);$/;" m interface:Context
+register src/main/java/bjc/data/Contexts.java /^ public void register(String name, Object o) {$/;" m class:Contexts.ContextImpl
+register src/main/java/bjc/data/Contexts.java /^ public void register(String name, Object o) {$/;" m class:Contexts.NullContextImpl
+remove src/main/java/bjc/data/CircularIterator.java /^ public void remove() {$/;" m class:CircularIterator
+remove src/main/java/bjc/data/NonCMEListIterator.java /^ public void remove() {$/;" m class:NonCMEListIterator
+remove src/main/java/bjc/data/ReverseListIterator.java /^ public void remove() {$/;" m class:ReverseListIterator
+remove src/main/java/bjc/esodata/DefaultList.java /^ public ValueType remove(int idx) {$/;" m class:DefaultList
+remove src/main/java/bjc/esodata/DoubleTape.java /^ public T remove() {$/;" m class:DoubleTape
+remove src/main/java/bjc/esodata/FlatNestIterator.java /^ public void remove() {$/;" m class:FlatNestIterator
+remove src/main/java/bjc/esodata/MinMaxList.java /^ public ValueType remove(int index) {$/;" m class:MinMaxList
+remove src/main/java/bjc/esodata/Multimap.java /^ public void remove(KeyType key) {$/;" m class:Multimap
+remove src/main/java/bjc/esodata/Multimap.java /^ public void remove(KeyType key, ValueType value) {$/;" m class:Multimap
+remove src/main/java/bjc/esodata/NestList.java /^ public Either<Element, NestList<Element>> remove(int index) {$/;" m class:NestList
+remove src/main/java/bjc/esodata/NestList.java /^ public boolean remove(Object o) {$/;" m class:NestList
+remove src/main/java/bjc/esodata/PushdownMap.java /^ public ValueType remove(final KeyType key) {$/;" m class:PushdownMap
+remove src/main/java/bjc/esodata/SingleTape.java /^ public T remove() {$/;" m class:SingleTape
+remove src/main/java/bjc/esodata/Tape.java /^ T remove();$/;" m interface:Tape
+remove src/main/java/bjc/esodata/TapeView.java /^ public default ElementType remove()$/;" m interface:TapeView
+remove src/main/java/bjc/esodata/ThresholdSet.java /^ public boolean remove(Object o) {$/;" m class:ThresholdSet.SetView
+remove src/main/java/bjc/esodata/ThresholdSet.java /^ public int remove(KeyType key) {$/;" m class:ThresholdSet
+remove src/main/java/bjc/funcdata/ExtendedMap.java /^ public ValueType remove(final KeyType key) {$/;" m class:ExtendedMap
+remove src/main/java/bjc/funcdata/FunctionalMap.java /^ public ValueType remove(final KeyType key) {$/;" m class:FunctionalMap
+remove src/main/java/bjc/funcdata/MapEx.java /^ ValueType remove(KeyType key);$/;" m interface:MapEx
+remove src/main/java/bjc/funcdata/TransformedValueMap.java /^ public NewValue remove(final OldKey key) {$/;" m class:TransformedValueMap
+removeIf src/main/java/bjc/funcdata/FunctionalList.java /^ public boolean removeIf(final Predicate<E> removePredicate) {$/;" m class:FunctionalList
+removeIf src/main/java/bjc/funcdata/ListEx.java /^ boolean removeIf(Predicate<ContainedType> predicate);$/;" m interface:ListEx
+removeKeys src/main/java/bjc/esodata/ThresholdSet.java /^ public int[] removeKeys(@SuppressWarnings("unchecked") KeyType... keys) {$/;" m class:ThresholdSet
+removeMatching src/main/java/bjc/funcdata/FunctionalList.java /^ public void removeMatching(final E desiredElement) {$/;" m class:FunctionalList
+removeMatching src/main/java/bjc/funcdata/ListEx.java /^ void removeMatching(ContainedType element);$/;" m interface:ListEx
+removeOfExistingKeyRemovesKey src/test/java/bjc/funcdata/TestMapOperations.java /^ public void removeOfExistingKeyRemovesKey() {$/;" m class:TestMapOperations
+removeOfNonExistingKeyDoesntRemoveAnything src/test/java/bjc/funcdata/TestMapOperations.java /^ public void removeOfNonExistingKeyDoesntRemoveAnything() {$/;" m class:TestMapOperations
+removeTape src/main/java/bjc/esodata/TapeLibrary.java /^ public Tape<ElementType> removeTape(String label)$/;" m class:TapeLibrary
+removeWords src/main/java/bjc/esodata/AbbrevMap2.java /^ public void removeWords(String... words) {$/;" m class:AbbrevMap2
+replace src/main/java/bjc/data/Holder.java /^ public default Holder<ContainedType> replace(final ContainedType newValue) {$/;" m interface:Holder
+replace src/main/java/bjc/esodata/NestList.java /^ public void replace($/;" m class:NestList
+reset src/main/java/bjc/data/ResettableIterator.java /^ public void reset() {$/;" m class:ResettableIterator
+revFind src/main/java/bjc/data/SimpleTree.java /^ public int revFind(final Predicate<Tree<ContainedType>> childPred) {$/;" m class:SimpleTree
+revFind src/main/java/bjc/data/Tree.java /^ int revFind(Predicate<Tree<ContainedType>> childPred);$/;" m interface:Tree
+reverse src/main/java/bjc/funcdata/FunctionalList.java /^ public void reverse() {$/;" m class:FunctionalList
+reverse src/main/java/bjc/funcdata/ListEx.java /^ void reverse();$/;" m interface:ListEx
+rght src/main/java/bjc/data/ValueToggle.java /^ private final E rght;$/;" f class:ValueToggle file:
+right src/main/java/bjc/data/Either.java /^ right(final RightType right) {$/;" m class:Either
+right src/main/java/bjc/esodata/DoubleTape.java /^ public boolean right() {$/;" m class:DoubleTape
+right src/main/java/bjc/esodata/DoubleTape.java /^ public boolean right(final int amt) {$/;" m class:DoubleTape
+right src/main/java/bjc/esodata/SingleTape.java /^ public boolean right() {$/;" m class:SingleTape
+right src/main/java/bjc/esodata/SingleTape.java /^ public boolean right(final int amt) {$/;" m class:SingleTape
+right src/main/java/bjc/esodata/Tape.java /^ boolean right();$/;" m interface:Tape
+right src/main/java/bjc/esodata/Tape.java /^ boolean right(int amt);$/;" m interface:Tape
+right src/main/java/bjc/esodata/TapeView.java /^ public default boolean right()$/;" m interface:TapeView
+right src/main/java/bjc/esodata/TapeView.java /^ public default boolean right(int amt)$/;" m interface:TapeView
+right src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ private TreePart<T> right;$/;" f class:BinarySearchTreeNode file:
+rightEither src/test/java/bjc/data/EitherTest.java /^ private Either<String, String> rightEither;$/;" f class:EitherTest file:
+rightMaterialized src/main/java/bjc/data/LazyPair.java /^ private boolean rightMaterialized;$/;" f class:LazyPair file:
+rightSupplier src/main/java/bjc/data/LazyPair.java /^ private Supplier<RightType> rightSupplier;$/;" f class:LazyPair file:
+rightSupplier src/main/java/bjc/data/internals/BoundLazyPair.java /^ private final Supplier<OldRight> rightSupplier;$/;" f class:BoundLazyPair file:
+rightVal src/main/java/bjc/data/Either.java /^ private RightType rightVal;$/;" f class:Either file:
+rightValue src/main/java/bjc/data/LazyPair.java /^ private RightType rightValue;$/;" f class:LazyPair file:
+rightValue src/main/java/bjc/data/SimplePair.java /^ private RightType rightValue;$/;" f class:SimplePair file:
+root src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ private TreePart<T> root;$/;" f class:BinarySearchTree file:
+rot src/main/java/bjc/esodata/Stack.java /^ public void rot() {$/;" m class:Stack
+runExample src/example/java/bjc/funcdata/bst/BinarySearchTreeExample.java /^ private static void runExample(final Scanner input, OutputStream outpt) {$/;" m class:BinarySearchTreeExample file:
+search src/main/java/bjc/funcdata/FunctionalList.java /^ public E search(final E searchKey, final Comparator<E> comparator) {$/;" m class:FunctionalList
+search src/main/java/bjc/funcdata/ListEx.java /^ ContainedType search(ContainedType key, Comparator<ContainedType> comparator);$/;" m interface:ListEx
+second src/main/java/bjc/data/OneWayToggle.java /^ private E second;$/;" f class:OneWayToggle file:
+seekTo src/main/java/bjc/esodata/DoubleTape.java /^ public boolean seekTo(int tgtPos) {$/;" m class:DoubleTape
+seekTo src/main/java/bjc/esodata/SingleTape.java /^ public boolean seekTo(int tgtPos) {$/;" m class:SingleTape
+seekTo src/main/java/bjc/esodata/Tape.java /^ boolean seekTo(int pos);$/;" m interface:Tape
+seekTo src/main/java/bjc/esodata/TapeView.java /^ public default boolean seekTo(int pos)$/;" m interface:TapeView
+selectiveTransform src/main/java/bjc/data/SimpleTree.java /^ public void selectiveTransform(final Predicate<ContainedType> nodePicker,$/;" m class:SimpleTree
+selectiveTransform src/main/java/bjc/data/Tree.java /^ void selectiveTransform(Predicate<ContainedType> nodePicker,$/;" m interface:Tree
+seq src/main/java/bjc/functypes/Thrower.java /^ Thrower<List<Output>, ExType> seq(List<Thrower<Output, ExType>> throwers)$/;" m interface:Thrower
+seq src/main/java/bjc/functypes/Thrower.java /^ Thrower<List<Output>, ExType> seq(Thrower<Output, ExType>... throwers)$/;" m interface:Thrower
+serialVersionUID src/main/java/bjc/esodata/Stack.java /^ private static final long serialVersionUID = 1423867176204571539L;$/;" f class:Stack.StackUnderflow file:
+serialVersionUID src/main/java/bjc/funcdata/ObjectFrozen.java /^ private static final long serialVersionUID = -1567447627139090728L;$/;" f class:ObjectFrozen file:
+set src/main/java/bjc/data/BooleanToggle.java /^ public void set(final boolean vl) {$/;" m class:BooleanToggle
+set src/main/java/bjc/data/IntHolder.java /^ public void set(int i) {$/;" m class:IntHolder
+set src/main/java/bjc/data/NonCMEListIterator.java /^ public void set(ElementType element) {$/;" m class:NonCMEListIterator
+set src/main/java/bjc/data/OneWayToggle.java /^ public void set(boolean gotFirst) {$/;" m class:OneWayToggle
+set src/main/java/bjc/data/ReverseListIterator.java /^ public void set(Element element) {$/;" m class:ReverseListIterator
+set src/main/java/bjc/data/Toggle.java /^ void set(boolean isLeft);$/;" m interface:Toggle
+set src/main/java/bjc/data/ValueToggle.java /^ public void set(final boolean isLeft) {$/;" m class:ValueToggle
+set src/main/java/bjc/esodata/DefaultList.java /^ public ValueType set(int idx, ValueType val) {$/;" m class:DefaultList
+set src/main/java/bjc/esodata/FlatNestIterator.java /^ public void set(Element e) {$/;" m class:FlatNestIterator
+set src/main/java/bjc/esodata/MinMaxList.java /^ public ValueType set(int index, ValueType element) {$/;" m class:MinMaxList
+setAllowAutoCreation src/main/java/bjc/esodata/TapeLibrary.java /^ public void setAllowAutoCreation(boolean allowAutoCreation)$/;" m class:TapeLibrary
+setCreateMap src/main/java/bjc/esodata/MapSet.java /^ public void setCreateMap(String key) {$/;" m class:MapSet
+setDefault src/main/java/bjc/esodata/DefaultList.java /^ public void setDefault(ValueType defVal) {$/;" m class:DefaultList
+setHead src/main/java/bjc/data/SimpleTree.java /^ public void setHead(ContainedType dat) {$/;" m class:SimpleTree
+setHead src/main/java/bjc/data/Tree.java /^ void setHead(ContainedType dat);$/;" m interface:Tree
+setIterator src/main/java/bjc/esodata/ThresholdSet.java /^ Iterator<KeyType> setIterator() {$/;" m class:ThresholdSet
+setMap src/main/java/bjc/esodata/MapSet.java /^ public boolean setMap(String key) {$/;" m class:MapSet
+setPutMap src/main/java/bjc/esodata/MapSet.java /^ public void setPutMap(String key, Map<KeyType, ValueType> map) {$/;" m class:MapSet
+setSize src/main/java/bjc/esodata/ThresholdSet.java /^ int setSize() {$/;" m class:ThresholdSet
+setState src/main/java/bjc/data/GeneratingIterator.java /^ public E setState(E newState) {$/;" m class:GeneratingIterator
+setUp src/test/java/bjc/data/EitherTest.java /^ public void setUp() throws Exception {$/;" m class:EitherTest
+setUp src/test/java/bjc/funcdata/TestMapOperations.java /^ public void setUp() throws Exception {$/;" m class:TestMapOperations
+setView src/main/java/bjc/esodata/ThresholdSet.java /^ public Set<KeyType> setView() {$/;" m class:ThresholdSet
+size src/main/java/bjc/data/Tree.java /^ default int size() {$/;" m interface:Tree
+size src/main/java/bjc/esodata/DefaultList.java /^ public int size() {$/;" m class:DefaultList
+size src/main/java/bjc/esodata/DoubleTape.java /^ public int size() {$/;" m class:DoubleTape
+size src/main/java/bjc/esodata/MinMaxList.java /^ public int size() {$/;" m class:MinMaxList
+size src/main/java/bjc/esodata/NestList.java /^ public int size() {$/;" m class:NestList
+size src/main/java/bjc/esodata/PushdownMap.java /^ public int size() {$/;" m class:PushdownMap
+size src/main/java/bjc/esodata/QueueStack.java /^ public int size() {$/;" m class:QueueStack
+size src/main/java/bjc/esodata/SimpleStack.java /^ public int size() {$/;" m class:SimpleStack
+size src/main/java/bjc/esodata/SingleTape.java /^ public int size() {$/;" m class:SingleTape
+size src/main/java/bjc/esodata/SpaghettiStack.java /^ public int size() {$/;" m class:SpaghettiStack
+size src/main/java/bjc/esodata/Stack.java /^ public abstract int size();$/;" m class:Stack
+size src/main/java/bjc/esodata/Tape.java /^ int size();$/;" m interface:Tape
+size src/main/java/bjc/esodata/TapeView.java /^ public default int size()$/;" m interface:TapeView
+size src/main/java/bjc/esodata/ThresholdSet.java /^ public int size() {$/;" m class:ThresholdSet.SetView
+size src/main/java/bjc/funcdata/ExtendedMap.java /^ public int size() {$/;" m class:ExtendedMap
+size src/main/java/bjc/funcdata/FunctionalMap.java /^ public int size() {$/;" m class:FunctionalMap
+size src/main/java/bjc/funcdata/MapEx.java /^ default int size() {$/;" m interface:MapEx
+size src/main/java/bjc/funcdata/TransformedValueMap.java /^ public int size() {$/;" m class:TransformedValueMap
+sizeMatchesExpected src/test/java/bjc/funcdata/TestMapOperations.java /^ public void sizeMatchesExpected() {$/;" m class:TestMapOperations
+sort src/main/java/bjc/funcdata/FunctionalList.java /^ public void sort(final Comparator<E> comparator) {$/;" m class:FunctionalList
+sort src/main/java/bjc/funcdata/ListEx.java /^ void sort(Comparator<ContainedType> comparator);$/;" m interface:ListEx
+source src/main/java/bjc/data/CircularIterator.java /^ private Iterable<E> source;$/;" f class:CircularIterator file:
+source src/main/java/bjc/data/NonCMEIterator.java /^ protected final List<ElementType> source;$/;" f class:NonCMEIterator
+source src/main/java/bjc/data/ReverseListIterator.java /^ private List<Element> source;$/;" f class:ReverseListIterator file:
+source src/main/java/bjc/data/SingleSupplier.java /^ private final Supplier<T> source;$/;" f class:SingleSupplier file:
+source src/main/java/bjc/data/TransformIterator.java /^ private final Iterator<S> source;$/;" f class:TransformIterator file:
+source src/main/java/bjc/functypes/Thrower.java /^ private final Thrower<ValueType, ExceptionType> source;$/;" f class:MemoizedThrower file:
+spaghettify src/main/java/bjc/esodata/Stack.java /^ public Stack<T> spaghettify() {$/;" m class:Stack
+spread src/main/java/bjc/esodata/Stack.java /^ public void spread(@SuppressWarnings("unchecked") final Consumer<Stack<T>>... conses) {$/;" m class:Stack
+spread src/main/java/bjc/esodata/Stack.java /^ public void spread(final List<Consumer<Stack<T>>> conses) {$/;" m class:Stack
+state src/main/java/bjc/data/GeneratingIterator.java /^ private E state;$/;" f class:GeneratingIterator file:
+store src/main/java/bjc/funcdata/ExtendedMap.java /^ private final MapEx<KeyType, ValueType> store;$/;" f class:ExtendedMap file:
+stpper src/main/java/bjc/data/GeneratingIterator.java /^ private Predicate<E> stpper;$/;" f class:GeneratingIterator file:
+suspend src/main/java/bjc/functypes/ThrowFunction.java /^ default Thrower<ReturnType, ExType> suspend(InputType arg) $/;" m interface:ThrowFunction
+swallow src/main/java/bjc/functypes/ThrowFunction.java /^ default Function<InputType, ReturnType> swallow($/;" m interface:ThrowFunction
+swallowMap src/main/java/bjc/functypes/ThrowFunction.java /^ default <NewReturn> Function<InputType, NewReturn> swallowMap($/;" m interface:ThrowFunction
+swap src/main/java/bjc/esodata/Stack.java /^ public void swap() {$/;" m class:Stack
+tail src/main/java/bjc/funcdata/FunctionalList.java /^ public ListEx<E> tail() {$/;" m class:FunctionalList
+tail src/main/java/bjc/funcdata/ListEx.java /^ ListEx<ContainedType> tail();$/;" m interface:ListEx
+tapeView src/main/java/bjc/esodata/TapeLibrary.java /^ public Tape<ElementType> tapeView()$/;" m class:TapeLibrary
+tapeView src/main/java/bjc/esodata/TapeView.java /^ public Tape<ElementType> tapeView();$/;" m interface:TapeView
+test src/test/java/bjc/data/ArrayIteratorTest.java /^ public void test() {$/;" m class:ArrayIteratorTest
+test src/test/java/bjc/data/BooleanToggleTest.java /^ public void test() {$/;" m class:BooleanToggleTest
+test src/test/java/bjc/data/QueuedIteratorTest.java /^ public void test() {$/;" m class:QueuedIteratorTest
+testAdd src/test/java/bjc/esodata/ThresholdSetTest.java /^ public void testAdd() {$/;" m class:ThresholdSetTest
+testAddItemElement src/test/java/bjc/esodata/NestListTest.java /^ public void testAddItemElement() {$/;" m class:NestListTest
+testAddItemNestListOfElement src/test/java/bjc/esodata/NestListTest.java /^ public void testAddItemNestListOfElement() {$/;" m class:NestListTest
+testAddMulti src/test/java/bjc/esodata/ThresholdSetTest.java /^ public void testAddMulti() {$/;" m class:ThresholdSetTest
+testAddMulti2 src/test/java/bjc/esodata/ThresholdSetTest.java /^ public void testAddMulti2() {$/;" m class:ThresholdSetTest
+testAddSublist src/test/java/bjc/esodata/NestListTest.java /^ public void testAddSublist() {$/;" m class:NestListTest
+testAfter src/test/java/bjc/data/QueuedIteratorTest.java /^ public void testAfter() {$/;" m class:QueuedIteratorTest
+testBasic src/test/java/bjc/esodata/StackTest.java /^ public void testBasic() {$/;" m class:StackTest
+testBasicComb src/test/java/bjc/esodata/StackTest.java /^ public void testBasicComb() {$/;" m class:StackTest
+testBefore src/test/java/bjc/data/QueuedIteratorTest.java /^ public void testBefore() {$/;" m class:QueuedIteratorTest
+testContains src/test/java/bjc/esodata/ThresholdSetTest.java /^ public void testContains() {$/;" m class:ThresholdSetTest
+testDataComb src/test/java/bjc/esodata/StackTest.java /^ public void testDataComb() {$/;" m class:StackTest
+testDeepFlatten src/test/java/bjc/esodata/NestListTest.java /^ public void testDeepFlatten() {$/;" m class:NestListTest
+testFlatIterator src/test/java/bjc/esodata/NestListTest.java /^ public void testFlatIterator() {$/;" m class:NestListTest
+testFlatten src/test/java/bjc/esodata/NestListTest.java /^ public void testFlatten() { $/;" m class:NestListTest
+testGetLeft src/test/java/bjc/data/EitherTest.java /^ public void testGetLeft() {$/;" m class:EitherTest
+testID src/test/java/bjc/functypes/IDTest.java /^ public void testID() {$/;" m class:IDTest
+testIsLeft src/test/java/bjc/data/EitherTest.java /^ public void testIsLeft() {$/;" m class:EitherTest
+testLast src/test/java/bjc/data/QueuedIteratorTest.java /^ public void testLast() {$/;" m class:QueuedIteratorTest
+testRegular src/test/java/bjc/data/CircularIteratorTest.java /^ public void testRegular() {$/;" m class:CircularIteratorTest
+testRemove src/test/java/bjc/data/CircularIteratorTest.java /^ public void testRemove() {$/;" m class:CircularIteratorTest
+testRemoveMulti src/test/java/bjc/esodata/ThresholdSetTest.java /^ public void testRemoveMulti() {$/;" m class:ThresholdSetTest
+testRepLast src/test/java/bjc/data/CircularIteratorTest.java /^ public void testRepLast() {$/;" m class:CircularIteratorTest
+testSetTransparency src/test/java/bjc/esodata/ThresholdSetTest.java /^ public void testSetTransparency() {$/;" m class:ThresholdSetTest
+testSpaghetti src/test/java/bjc/esodata/StackTest.java /^ public void testSpaghetti() {$/;" m class:StackTest
+thaw src/main/java/bjc/esodata/PushdownMap.java /^ public boolean thaw() {$/;" m class:PushdownMap
+thaw src/main/java/bjc/funcdata/ExtendedMap.java /^ public boolean thaw() {$/;" m class:ExtendedMap
+thaw src/main/java/bjc/funcdata/Freezable.java /^ public boolean thaw();$/;" m interface:Freezable
+thaw src/main/java/bjc/funcdata/FunctionalMap.java /^ public boolean thaw() {$/;" m class:FunctionalMap
+thaw src/main/java/bjc/funcdata/TransformedValueMap.java /^ public boolean thaw() {$/;" m class:TransformedValueMap
+thawEnabled src/main/java/bjc/esodata/PushdownMap.java /^ private boolean thawEnabled = true;$/;" f class:PushdownMap file:
+thawEnabled src/main/java/bjc/funcdata/ExtendedMap.java /^ private boolean thawEnabled = true;$/;" f class:ExtendedMap file:
+thawEnabled src/main/java/bjc/funcdata/FunctionalMap.java /^ private boolean thawEnabled = true;$/;" f class:FunctionalMap file:
+thawEnabled src/main/java/bjc/funcdata/TransformedValueMap.java /^ private boolean thawEnabled = true;$/;" f class:TransformedValueMap file:
+times src/main/java/bjc/functypes/Combinators.java /^ public static void times(int times, Consumer<Integer> action)$/;" m class:Combinators
+to src/main/java/bjc/functypes/FunctionalIsomorphism.java /^ public Dest to(Source val)$/;" m class:FunctionalIsomorphism
+to src/main/java/bjc/functypes/Isomorphism.java /^ Dest to(Source val);$/;" m interface:Isomorphism
+toArray src/main/java/bjc/esodata/QueueStack.java /^ public T[] toArray() {$/;" m class:QueueStack
+toArray src/main/java/bjc/esodata/SimpleStack.java /^ public T[] toArray() {$/;" m class:SimpleStack
+toArray src/main/java/bjc/esodata/SpaghettiStack.java /^ public T[] toArray() {$/;" m class:SpaghettiStack
+toArray src/main/java/bjc/esodata/Stack.java /^ public abstract T[] toArray();$/;" m class:Stack
+toArray src/main/java/bjc/funcdata/FunctionalList.java /^ public E[] toArray(final E[] arrType) {$/;" m class:FunctionalList
+toArray src/main/java/bjc/funcdata/ListEx.java /^ ContainedType[] toArray(ContainedType[] type);$/;" m interface:ListEx
+toFunc src/main/java/bjc/functypes/FunctionalIsomorphism.java /^ private Function<Source, Dest> toFunc;$/;" f class:FunctionalIsomorphism file:
+toIterable src/main/java/bjc/funcdata/FunctionalList.java /^ public Iterable<E> toIterable() {$/;" m class:FunctionalList
+toIterable src/main/java/bjc/funcdata/ListEx.java /^ Iterable<ContainedType> toIterable();$/;" m interface:ListEx
+toList src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^ public <E> ListEx<E> toList(final Function<String, E> transformer) {$/;" m class:FunctionalStringTokenizer
+toList src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^ public ListEx<String> toList() {$/;" m class:FunctionalStringTokenizer
+toString src/main/java/bjc/data/BooleanToggle.java /^ public String toString() {$/;" m class:BooleanToggle
+toString src/main/java/bjc/data/Either.java /^ public String toString() {$/;" m class:Either
+toString src/main/java/bjc/data/Identity.java /^ public String toString() {$/;" m class:Identity
+toString src/main/java/bjc/data/Lazy.java /^ public String toString() {$/;" m class:Lazy
+toString src/main/java/bjc/data/LazyPair.java /^ public String toString() {$/;" m class:LazyPair
+toString src/main/java/bjc/data/ListHolder.java /^ public String toString() {$/;" m class:ListHolder
+toString src/main/java/bjc/data/Option.java /^ public String toString() {$/;" m class:Option
+toString src/main/java/bjc/data/SimplePair.java /^ public String toString() {$/;" m class:SimplePair
+toString src/main/java/bjc/data/SimpleTree.java /^ public String toString() {$/;" m class:SimpleTree
+toString src/main/java/bjc/data/SingleSupplier.java /^ public String toString() {$/;" m class:SingleSupplier
+toString src/main/java/bjc/data/internals/BoundLazy.java /^ public String toString() {$/;" m class:BoundLazy
+toString src/main/java/bjc/data/internals/BoundLazyPair.java /^ public String toString() {$/;" m class:BoundLazyPair
+toString src/main/java/bjc/esodata/DoubleTape.java /^ public String toString() {$/;" m class:DoubleTape
+toString src/main/java/bjc/esodata/MinMaxList.java /^ public String toString() {$/;" m class:MinMaxList
+toString src/main/java/bjc/esodata/PushdownMap.java /^ public String toString() {$/;" m class:PushdownMap
+toString src/main/java/bjc/esodata/QueueStack.java /^ public String toString() {$/;" m class:QueueStack
+toString src/main/java/bjc/esodata/SimpleDirectory.java /^ public String toString() {$/;" m class:SimpleDirectory
+toString src/main/java/bjc/esodata/SimpleStack.java /^ public String toString() {$/;" m class:SimpleStack
+toString src/main/java/bjc/esodata/SingleTape.java /^ public String toString() {$/;" m class:SingleTape
+toString src/main/java/bjc/esodata/SpaghettiStack.java /^ public String toString() {$/;" m class:SpaghettiStack
+toString src/main/java/bjc/esodata/ThresholdSet.java /^ public String toString() {$/;" m class:ThresholdSet
+toString src/main/java/bjc/esodata/UnifiedDirectory.java /^ public String toString() {$/;" m class:UnifiedDirectory
+toString src/main/java/bjc/funcdata/ExtendedMap.java /^ public String toString() {$/;" m class:ExtendedMap
+toString src/main/java/bjc/funcdata/FunctionalList.java /^ public String toString() {$/;" m class:FunctionalList
+toString src/main/java/bjc/funcdata/FunctionalMap.java /^ public String toString() {$/;" m class:FunctionalMap
+toString src/main/java/bjc/funcdata/FunctionalStringTokenizer.java /^ public String toString() {$/;" m class:FunctionalStringTokenizer
+toString src/main/java/bjc/funcdata/TransformedValueMap.java /^ public String toString() {$/;" m class:TransformedValueMap
+toString src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ public String toString() {$/;" m class:BinarySearchTree
+toString src/main/java/bjc/funcdata/bst/BinarySearchTreeLeaf.java /^ public String toString() {$/;" m class:BinarySearchTreeLeaf
+toString src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ public String toString() {$/;" m class:BinarySearchTreeNode
+toYield src/main/java/bjc/data/TopDownTransformIterator.java /^ private final Deque<Iterator<Tree<ContainedType>>> toYield;$/;" f class:TopDownTransformIterator file:
+top src/main/java/bjc/esodata/QueueStack.java /^ public T top() {$/;" m class:QueueStack
+top src/main/java/bjc/esodata/SimpleStack.java /^ public T top() {$/;" m class:SimpleStack
+top src/main/java/bjc/esodata/SpaghettiStack.java /^ public T top() {$/;" m class:SpaghettiStack
+top src/main/java/bjc/esodata/Stack.java /^ public abstract T top();$/;" m class:Stack
+topDownTransform src/main/java/bjc/data/SimpleTree.java /^ public Tree<ContainedType> topDownTransform($/;" m class:SimpleTree
+topDownTransform src/main/java/bjc/data/Tree.java /^ Tree<ContainedType> topDownTransform($/;" m interface:Tree
+transform src/main/java/bjc/data/Holder.java /^ public Holder<ContainedType> transform(UnaryOperator<ContainedType> transformer);$/;" m interface:Holder
+transform src/main/java/bjc/data/Identity.java /^ transform(final UnaryOperator<ContainedType> transformer) {$/;" m class:Identity
+transform src/main/java/bjc/data/Lazy.java /^ transform(final UnaryOperator<ContainedType> transformer) {$/;" m class:Lazy
+transform src/main/java/bjc/data/ListHolder.java /^ transform(final UnaryOperator<ContainedType> transformer) {$/;" m class:ListHolder
+transform src/main/java/bjc/data/Option.java /^ transform(final UnaryOperator<ContainedType> transformer) {$/;" m class:Option
+transform src/main/java/bjc/data/TopDownTransformIterator.java /^ private final TreeTransform<ContainedType> transform;$/;" f class:TopDownTransformIterator file:
+transform src/main/java/bjc/data/TransformIterator.java /^ private final Function<S, D> transform;$/;" f class:TransformIterator file:
+transform src/main/java/bjc/data/internals/BoundLazy.java /^ transform(final UnaryOperator<BoundContainedType> transformer) {$/;" m class:BoundLazy
+transform src/main/java/bjc/data/internals/BoundListHolder.java /^ transform(final UnaryOperator<ContainedType> transformer) {$/;" m class:BoundListHolder
+transform src/main/java/bjc/data/internals/WrappedLazy.java /^ transform(final UnaryOperator<ContainedType> transformer) {$/;" m class:WrappedLazy
+transform src/main/java/bjc/data/internals/WrappedOption.java /^ transform(final UnaryOperator<ContainedType> transformer) {$/;" m class:WrappedOption
+transform src/main/java/bjc/funcdata/MapEx.java /^ default <V2> MapEx<KeyType, V2> transform(final Function<ValueType, V2> transformer) {$/;" m interface:MapEx
+transformChild src/main/java/bjc/data/SimpleTree.java /^ public <TransformedType> TransformedType transformChild(final int childNo,$/;" m class:SimpleTree
+transformChild src/main/java/bjc/data/Tree.java /^ <TransformedType> TransformedType transformChild(int childNo,$/;" m interface:Tree
+transformHead src/main/java/bjc/data/SimpleTree.java /^ transformHead(final Function<ContainedType, TransformedType> transformer) {$/;" m class:SimpleTree
+transformHead src/main/java/bjc/data/Tree.java /^ transformHead(Function<ContainedType, TransformedType> transformer);$/;" m interface:Tree
+transformTree src/main/java/bjc/data/Tree.java /^ transformTree(final Function<ContainedType, MappedType> transformer) {$/;" m interface:Tree
+transformer src/main/java/bjc/funcdata/TransformedValueMap.java /^ private final Function<OldValue, NewValue> transformer;$/;" f class:TransformedValueMap file:
+transtion src/main/java/bjc/data/GeneratingIterator.java /^ private UnaryOperator<E> transtion;$/;" f class:GeneratingIterator file:
+traverse src/main/java/bjc/data/SimpleTree.java /^ public void traverse(final TreeLinearizationMethod linearizationMethod,$/;" m class:SimpleTree
+traverse src/main/java/bjc/data/Tree.java /^ void traverse(TreeLinearizationMethod linearizationMethod,$/;" m interface:Tree
+traverse src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ public void traverse(final TreeLinearizationMethod linearizationMethod,$/;" m class:BinarySearchTree
+traverseElement src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ private boolean traverseElement(final Predicate<T> traversalPredicate) {$/;" m class:BinarySearchTreeNode file:
+traverseLeftBranch src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ private boolean traverseLeftBranch(final TreeLinearizationMethod linearizationMethod,$/;" m class:BinarySearchTreeNode file:
+traverseRightBranch src/main/java/bjc/funcdata/bst/BinarySearchTreeNode.java /^ private boolean traverseRightBranch(final TreeLinearizationMethod linearizationMethod,$/;" m class:BinarySearchTreeNode file:
+trim src/main/java/bjc/funcdata/bst/BinarySearchTree.java /^ public void trim() {$/;" m class:BinarySearchTree
+unwrap src/main/java/bjc/data/Holder.java /^ unwrap(Function<ContainedType, UnwrappedType> unwrapper);$/;" m interface:Holder
+unwrap src/main/java/bjc/data/Identity.java /^ unwrap(final Function<ContainedType, UnwrappedType> unwrapper) {$/;" m class:Identity
+unwrap src/main/java/bjc/data/Lazy.java /^ unwrap(final Function<ContainedType, UnwrappedType> unwrapper) {$/;" m class:Lazy
+unwrap src/main/java/bjc/data/ListHolder.java /^ unwrap(final Function<ContainedType, UnwrappedType> unwrapper) {$/;" m class:ListHolder
+unwrap src/main/java/bjc/data/Option.java /^ unwrap(final Function<ContainedType, UnwrappedType> unwrapper) {$/;" m class:Option
+unwrap src/main/java/bjc/data/internals/BoundLazy.java /^ unwrap(final Function<BoundContainedType, UnwrappedType> unwrapper) {$/;" m class:BoundLazy
+unwrap src/main/java/bjc/data/internals/BoundListHolder.java /^ unwrap(final Function<ContainedType, UnwrappedType> unwrapper) {$/;" m class:BoundListHolder
+unwrap src/main/java/bjc/data/internals/WrappedLazy.java /^ unwrap(final Function<ContainedType, UnwrappedType> unwrapper) {$/;" m class:WrappedLazy
+unwrap src/main/java/bjc/data/internals/WrappedOption.java /^ unwrap(final Function<ContainedType, UnwrappedType> unwrapper) {$/;" m class:WrappedOption
+val src/main/java/bjc/data/BooleanToggle.java /^ private boolean val;$/;" f class:BooleanToggle file:
+val src/main/java/bjc/data/IntHolder.java /^ public int val;$/;" f class:IntHolder
+val src/main/java/bjc/functypes/Thrower.java /^ private ValueType val;$/;" f class:MemoizedThrower file:
+valueList src/main/java/bjc/funcdata/MapEx.java /^ default ListEx<ValueType> valueList() {$/;" m interface:MapEx
+valueListReturnsListOfValues src/test/java/bjc/funcdata/TestMapOperations.java /^ public void valueListReturnsListOfValues() {$/;" m class:TestMapOperations
+valueMaterialized src/main/java/bjc/data/Lazy.java /^ private boolean valueMaterialized;$/;" f class:Lazy file:
+valueSupplier src/main/java/bjc/data/Lazy.java /^ private Supplier<ContainedType> valueSupplier;$/;" f class:Lazy file:
+values src/main/java/bjc/esodata/ThresholdSet.java /^ public Set<KeyType> values() {$/;" m class:ThresholdSet
+walk src/main/java/bjc/funcdata/bst/DirectedWalkFunction.java /^ public DirectedWalkResult walk(T element);$/;" m interface:DirectedWalkFunction
+with src/main/java/bjc/functypes/Combinators.java /^ public static <Type> Type with(Type input, Consumer<Type>... consumers)$/;" m class:Combinators
+wrapped src/main/java/bjc/funcdata/FunctionalList.java /^ private final List<E> wrapped;$/;" f class:FunctionalList file:
+wrappedMap src/main/java/bjc/funcdata/FunctionalMap.java /^ private Map<KeyType, ValueType> wrappedMap;$/;" f class:FunctionalMap file:
+yielded src/main/java/bjc/data/SingleIterator.java /^ private boolean yielded;$/;" f class:SingleIterator file: