Sha256: 0f2d908c4ebaf3cf2c50ab10bafc2e5fe5f8096ef32a9292dacd60db6f865430

Contents?: true

Size: 829 Bytes

Versions: 4

Compression:

Stored size: 829 Bytes

Contents

# encoding: utf-8

module Veritas
  class Optimizer
    module Function
      module String

        # Abstract base class representing Length optimizations
        class Length < Optimizer
          include Unary

          # Optimize when the operand is constant
          class ConstantOperand < self
            include Unary::ConstantOperand
          end # class ConstantOperand

          # Optimize when the operand is unoptimized
          class UnoptimizedOperand < self
            include Unary::UnoptimizedOperand
          end # class UnoptimizedOperand

          Veritas::Function::String::Length.optimizer = chain(
            ConstantOperand,
            UnoptimizedOperand
          )

        end # class Length
      end # module String
    end # module Function
  end # class Optimizer
end # module Veritas

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
veritas-optimizer-0.0.7 lib/veritas/optimizer/function/string/length.rb
veritas-optimizer-0.0.6 lib/veritas/optimizer/function/string/length.rb
veritas-optimizer-0.0.5 lib/veritas/optimizer/function/string/length.rb
veritas-optimizer-0.0.4 lib/veritas/optimizer/function/string/length.rb