namespace ProtoBuf
{
    /// 
    /// Sub-format to use when serializing/deserializing data
    /// 
    public enum DataFormat
    {
        /// 
        /// Uses the default encoding for the data-type.
        /// 
        Default,
        /// 
        /// When applied to signed integer-based data (including Decimal), this
        /// indicates that zigzag variant encoding will be used. This means that values
        /// with small magnitude (regardless of sign) take a small amount
        /// of space to encode.
        /// 
        ZigZag,
        /// 
        /// When applied to signed integer-based data (including Decimal), this
        /// indicates that two's-complement variant encoding will be used.
        /// This means that any -ve number will take 10 bytes (even for 32-bit),
        /// so should only be used for compatibility.
        /// 
        TwosComplement,
        /// 
        /// When applied to signed integer-based data (including Decimal), this
        /// indicates that a fixed amount of space will be used.
        /// 
        FixedSize,
        /// 
        /// When applied to a sub-message, indicates that the value should be treated
        /// as group-delimited.
        /// 
        Group,
        /// 
        /// When applied to members of types such as DateTime or TimeSpan, specifies
        /// that the "well known" standardized representation should be use; DateTime uses Timestamp,
        /// 
        /// 
        WellKnown
    }
}