<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/protobuf/descriptor.proto

namespace Google\Protobuf\Internal\FileOptions;

/**
 * Generated classes can be optimized for speed or code size.
 *
 * Protobuf type <code>google.protobuf.FileOptions.OptimizeMode</code>
 */
class OptimizeMode
{
    /**
     * Generate complete code for parsing, serialization,
     *
     * Generated from protobuf enum <code>SPEED = 1;</code>
     */
    const SPEED = 1;
    /**
     * etc.
     *
     * Generated from protobuf enum <code>CODE_SIZE = 2;</code>
     */
    const CODE_SIZE = 2;
    /**
     * Generate code using MessageLite and the lite runtime.
     *
     * Generated from protobuf enum <code>LITE_RUNTIME = 3;</code>
     */
    const LITE_RUNTIME = 3;
}

// Adding a class alias for backwards compatibility with the previous class name.
class_alias(OptimizeMode::class, \Google\Protobuf\Internal\FileOptions_OptimizeMode::class);

