// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

library dart.collection;

import 'dart:_collection-dev';

part 'arrays.dart';
part 'collections.dart';
part 'iterator.dart';
part 'maps.dart';
part 'queue.dart';
part 'splay_tree.dart';
part 'hash_table.dart';
part 'hash_set.dart';
part 'hash_map.dart';
part 'linked_hash_table.dart';
part 'linked_hash_set.dart';
part 'linked_hash_map.dart';
