constant_member.dart 939 Bytes
Newer Older
1
// Copyright 2016 The Chromium Authors. All rights reserved.
2 3 4 5 6
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'expression.dart';
import 'equation_member.dart';
7
import 'term.dart';
8

9 10
/// A member of a [Constraint] [Expression] that represent a constant at the
/// time the [Constraint] is added to the solver.
11 12 13 14 15 16 17 18
class ConstantMember extends EquationMember {
  /// Creates a [ConstantMember] object.
  ///
  /// The [cm] convenience method may be a more convenient way to create a
  /// [ConstantMember] object.
  ConstantMember(this.value);

  @override
19
  Expression asExpression() => new Expression(<Term>[], this.value);
20 21 22 23 24 25 26 27 28 29 30 31

  @override
  final double value;

  @override
  bool get isConstant => true;
}

/// Creates a [ConstantMember].
///
/// This is a convenience method to make cassowary expressions less verbose.
ConstantMember cm(double value) => new ConstantMember(value);