| // 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. |
| * |
| * This library is automatically imported. |
| * |
| * Some classes in this library, |
| * such as [String] and [num], |
| * support Dart's built-in data types. |
| * Other classes, such as [List] and [Map], provide data structures |
| * for managing collections of objects. |
| * And still other classes represent commonly used types of data |
| * such as URIs, dates and times, and errors. |
| * |
| * ## Numbers and booleans |
| * |
| * [int] and [double] provide support for Dart's built-in numerical data types: |
| * integers and double-precision floating point numbers, respectively. |
| * An object of type [bool] is either true or false. |
| * Variables of these types can be constructed from literals: |
| * |
| * int meaningOfLife = 42; |
| * double valueOfPi = 3.141592; |
| * bool visible = true; |
| * |
| * ## Strings and regular expressions |
| * |
| * A [String] is immutable and represents a sequence of characters. |
| * |
| * String shakespeareQuote = "All the world's a stage, ..."; |
| * |
| * [StringBuffer] provides a way to construct strings efficiently. |
| * |
| * StringBuffer moreShakespeare = new StringBuffer(); |
| * moreShakespeare.write('And all the men and women '); |
| * moreShakespeare.write('merely players; ...'); |
| * |
| * The String and StringBuffer classes implement string concatenation, |
| * interpolation, and other string manipulation features. |
| * |
| * String philosophy = 'Live on '; |
| * String get palindrome => philosophy + philosophy.split('').reversed.join(); |
| * |
| * [RegExp] implements Dart regular expressions, |
| * which provide a grammar for matching patterns within text. |
| * For example, here's a regular expression that matches |
| * a string of one or more digits: |
| * |
| * var numbers = new RegExp(r'\d+'); |
| * |
| * Dart regular expressions have the same syntax and semantics as |
| * JavaScript regular expressions. See |
| * <http://ecma-international.org/ecma-262/5.1/#sec-15.10> |
| * for the specification of JavaScript regular expressions. |
| * |
| * ## 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. |
| * |
| * List superheroes = [ 'Batman', 'Superman', 'Harry Potter' ]; |
| * |
| * A Set is an unordered collection of unique objects. |
| * You cannot get an item by index (position). |
| * Adding a duplicate item has no effect. |
| * |
| * Set villians = new Set(); |
| * villians.add('Joker'); |
| * villians.addAll( ['Lex Luther', 'Voldemort'] ); |
| * |
| * 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. |
| * |
| * Map sidekicks = { 'Batman': 'Robin', |
| * 'Superman': 'Lois Lane', |
| * 'Harry Potter': 'Ron and Hermione' }; |
| * |
| * 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 keys and values. |
| * |
| * For other kinds of collections, check out the |
| * [dart:collection](#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); |
| * |
| * In addition to DateTime and Duration, |
| * dart:core contains the [Stopwatch] class for measuring elapsed time. |
| * |
| * ## Uri |
| * |
| * A [Uri] object represents a uniform resource identifier, |
| * which identifies a resource on the web. |
| * |
| * Uri dartlang = Uri.parse('http://dartlang.org/'); |
| * |
| * ## Errors |
| * |
| * The [Error] class represents the occurrence of an error |
| * during runtime. |
| * Subclasses of this class represent specific kinds of errors. |
| * |
| * ## 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. |
| * |
| * The |
| * [Dart Language Specification](http://www.dartlang.org/docs/spec/) |
| * provides technical details. |
| */ |
| library dart.core; |
| |
| import "dart:collection"; |
| import "dart:_collection-dev" hide Symbol; |
| import "dart:_collection-dev" as _collection_dev; |
| import "dart:convert" show UTF8, Encoding; |
| |
| 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"; |