aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Protobuf/Compilers/CppCompiler.cs
blob: 68c8402751f6a2c4797b8950c4c1115e56f8460e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tango.Protobuf.Compilers
{
    /// <summary>
    /// Represents a protobuf C++ Compiler.
    /// </summary>
    /// <seealso cref="Tango.Protobuf.ProtoCompiler" />
    public class CppCompiler : ProtoCompiler
    {
        /// <summary>
        /// Gets the compiler language.
        /// </summary>
        public override CompilerLanguage Language => CompilerLanguage.CPP;

        /// <summary>
        /// Gets the protobuf compiler CLI arguments (without input/output files!).
        /// </summary>
        /// <returns></returns>
        protected override string GetProtoArguments()
        {
            return "--cpp_out";
        }

        /// <summary>
        /// Gets a value indicating whether this compiler uses the default folder structure when generating code.
        /// </summary>
        public override bool UsesDefaultStructure => true;
    }
}
i = 0; i < 10; i++) { JobSegment seg = new JobSegment(); seg.Length = i; seg.Name = "Segment " + rnd.Next(); for (int j = 0; j < 10; j++) { JobBrushStop stop = new JobBrushStop(); stop.Index = j; stop.OffsetMeters = j; stop.OffsetPercent = j; for (int k = 0; k < 6; k++) { stop.Dispensers.Add(new JobDispenser() { DispenserLiquidType = DispenserLiquidType.Cyan, Index = k, NanolitterPerSecond = k, }); } seg.BrushStops.Add(stop); } segments.Add(seg); } JobDescriptionFile jobDescriptionFile = new JobDescriptionFile(segments); MemoryStream ms = jobDescriptionFile.ToStream(); ms.Position = 0; var read_segments = JobDescriptionFile.ReadJobDescriptionFile(ms); ms.Dispose(); Assert.IsTrue(Helper.IsDeepEqual(segments, read_segments)); } } }