blob: 6cfe998bad5788b77f1aca8ad0226145798356e6 [file] [log] [blame]
// 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.
/**
*
* Built-in types, collections,
* and other core functionality for every Dart program.
*
* Some classes in this library,
* such as [String] and [num],
* support Dart's built-in data types.
* Other classes provide data structures
* for managing collections of objects.
* And still other classes represent commonly used types of data
* such as URIs, dates, and times.
*
*
* ## Built-in types
*
* [String], [int], [double], [bool], [List], and [Map]
* provide support for Dart's built-in data types.
* To declare and initialize variables of these types, write:
* String myString = 'A sequence of characters.';
* int meaningOfLife = 42;
* double valueOfPi = 3.141592;
* bool visible = true;
* List superHeros = [ 'Batman', 'Superman', 'Harry Potter' ];
* Map sidekicks = { 'Batman': 'Robin',
* 'Superman': 'Lois Lane',
* 'Harry Potter': 'Ron and Hermione' };
*
* ## Strings
*
* A [String] is immutable and represents a sequence of characters.
* [StringBuffer] provides a way to construct strings efficiently.
*
* The Dart language uses the [String] and [StringBuffer]
* behind the scenes to implement string concatenation, interpolation,
* and other features.
* String myString = 'Live on ';
* String get palindrome => myString + myString.split('').reversed.join();
*
*
* ## Collections
*
* The dart:core library provides basic collections,
* such as [List], [Map], and [Set].
*
* * A [List] is an ordered collection of objects, with a length.
* Lists are sometimes called arrays.
* Use a List when you need to access objects by index.
*
* * A [Set] is an unordered collection of unique objects.
* You cannot get an item by index (position).
* Adding a duplicate item has no effect.
* Use a [Set] when you need to guarantee object uniqueness.
*
* * A [Map] is an unordered collection of key-value pairs.
* Maps are sometimes called associative arrays because
* maps associate a key to some value for easy retrieval.
* Keys are unique.
* Use a [Map] when you need to access objects
* by a unique identifier.
*
* In addition to these classes,
* dart:core contains [Iterable],
* an interface that defines functionality
* common in collections of objects.
* Examples include the ability
* to run a function on each element in the collection,
* to apply a test to each element,
* to retrieve an object, and to determine length.
*
* Iterable is implemented by [List] and [Set],
* and used by [Map] for its lists of keys and values.
*
* For other kinds of collections, check out the dart:collection library.
*
* ## Date and time
*
* Use [DateTime] to represent a point in time
* and [Duration] to represent a span of time.
*
* You can create [DateTime] objects with constructors
* or by parsing a correctly formatted string.
* DateTime now = new DateTime.now();
* DateTime berlinWallFell = new DateTime(1989, 11, 9);
* DateTime moonLanding = DateTime.parse("1969-07-20");
*
* Create a [Duration] object specifying the individual time units.
* Duration timeRemaining = new Duration(hours:56, minutes:14);
*
* ## Uri
*
* A [Uri] object represents a uniform resource identifier,
* which identifies a resource on the web.
* Uri dartlang = Uri.parse('http://dartlang.org/');
*
* ## Other documentation
*
* For more information about how to use the built-in types, refer to
* [Built-in Types](http://www.dartlang.org/docs/dart-up-and-running/contents/ch02.html#built-in-types)
* in Chapter 2 of
* [Dart: Up and Running](http://www.dartlang.org/docs/dart-up-and-running/).
*
* Also, see
* [dart:core - Numbers, Collections, Strings, and More](http://www.dartlang.org/docs/dart-up-and-running/contents/ch03.html#ch03-dartcore---strings-collections-and-more)
* for more coverage of classes in this package.
*
*/
library dart.core;
import "dart:collection";
import "dart:_collection-dev" hide Symbol;
import "dart:_collection-dev" as _collection_dev;
import "dart:convert" show UTF8;
part "bool.dart";
part "comparable.dart";
part "date_time.dart";
part "double.dart";
part "duration.dart";
part "errors.dart";
part "exceptions.dart";
part "expando.dart";
part "function.dart";
part "identical.dart";
part "int.dart";
part "invocation.dart";
part "iterable.dart";
part "iterator.dart";
part "list.dart";
part "map.dart";
part "null.dart";
part "num.dart";
part "object.dart";
part "pattern.dart";
part "print.dart";
part "regexp.dart";
part "set.dart";
part "stacktrace.dart";
part "stopwatch.dart";
part "string.dart";
part "string_buffer.dart";
part "string_sink.dart";
part "symbol.dart";
part "type.dart";
part "uri.dart";