/* * Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. * Use of this file is governed by the BSD 3-clause license that * can be found in the LICENSE.txt file in the project root. */ module antlr.v4.runtime.atn.AbstractConfigHashSet; import antlr.v4.runtime.atn.ATNConfig; import antlr.v4.runtime.misc; /** * A special, abstract container for the graph-structured stack */ abstract class AbstractConfigHashSet : Array2DHashSet!ATNConfig { public this(size_t function(Object o) @trusted nothrow hashOfFp, bool function(Object a, Object b) opEqualsFp) { this(hashOfFp, opEqualsFp, 16, 2); } public this(size_t function(Object o) @trusted nothrow hashOfFp, bool function(Object a, Object b) opEqualsFp, int initialCapacity, int initialBucketCapacity) { super(hashOfFp, opEqualsFp, initialCapacity, initialBucketCapacity); } /** * @uml * @override */ public override ATNConfig[][] createBuckets(int capacity) { ATNConfig[][] atnConfigs; atnConfigs.length = capacity; return atnConfigs; } /** * @uml * @override */ public override ATNConfig[] createBucket(int capacity) { ATNConfig[] atnConfig; atnConfig.length = capacity; return atnConfig; } }