예제 #1
0
        public override void CustomRead()
        {
            int _nbConfs   = 7;
            int _nbOptions = 5;

            OplDataHandler handler = getDataHandler();

            handler.StartElement("nbConfs");
            handler.AddIntItem(_nbConfs);
            handler.EndElement();
            handler.StartElement("nbOptions");
            handler.AddIntItem(_nbOptions);
            handler.EndElement();

            int[] _demand = { 5, 5, 10, 10, 10, 10, 5 };
            handler.StartElement("demand");
            handler.StartArray();
            for (int i = 0; i < _nbConfs; i++)
            {
                handler.AddIntItem(_demand[i]);
            }
            handler.EndArray();
            handler.EndElement();

            int[,] _option = { { 1, 0, 0, 0, 1, 1, 0 },
                               { 0, 0, 1, 1, 0, 1, 0 },
                               { 1, 0, 0, 0, 1, 0, 0 },
                               { 1, 1, 0, 1, 0, 0, 0 },
                               { 0, 0, 1, 0, 0, 0, 0 } };
            handler.StartElement("option");
            handler.StartArray();
            for (int i = 0; i < _nbOptions; i++)
            {
                handler.StartArray();
                for (int j = 0; j < _nbConfs; j++)
                {
                    handler.AddIntItem(_option[i, j]);
                }
                handler.EndArray();
            }
            handler.EndArray();
            handler.EndElement();

            int[,] _capacity = { { 1, 2 }, { 2, 3 }, { 1, 3 }, { 2, 5 }, { 1, 5 } };
            handler.StartElement("capacity");
            handler.StartArray();
            for (int i = 0; i < _nbOptions; i++)
            {
                handler.StartTuple();
                for (int j = 0; j <= 1; j++)
                {
                    handler.AddIntItem(_capacity[i, j]);
                }
                handler.EndTuple();
            }
            handler.EndArray();
            handler.EndElement();
        }
예제 #2
0
        public override void CustomRead()
        {
            int _nbOrders = 12;
            int _nbSlabs  = 12;
            int _nbColors = 8;
            int _nbCap    = 20;

            OplDataHandler handler = getDataHandler();

            handler.StartElement("nbOrders");
            handler.AddIntItem(_nbOrders);
            handler.EndElement();
            handler.StartElement("nbSlabs");
            handler.AddIntItem(_nbSlabs);
            handler.EndElement();
            handler.StartElement("nbColors");
            handler.AddIntItem(_nbColors);
            handler.EndElement();
            handler.StartElement("nbCap");
            handler.AddIntItem(_nbCap);
            handler.EndElement();

            int[] _capacity = { 0, 11, 13, 16, 17, 19, 20, 23, 24, 25, 26, 27, 28, 29, 30, 33, 34, 40, 43, 45 };
            handler.StartElement("capacities");
            handler.StartArray();
            for (int i = 0; i < _nbCap; i++)
            {
                handler.AddIntItem(_capacity[i]);
            }
            handler.EndArray();
            handler.EndElement();

            int[] _weight = { 22, 9, 9, 8, 8, 6, 5, 3, 3, 3, 2, 2 };
            handler.StartElement("weight");
            handler.StartArray();
            for (int i = 0; i < _nbOrders; i++)
            {
                handler.AddIntItem(_weight[i]);
            }
            handler.EndArray();
            handler.EndElement();

            int[] _colors = { 5, 3, 4, 5, 7, 3, 6, 0, 2, 3, 1, 5 };
            handler.StartElement("colors");
            handler.StartArray();
            for (int i = 0; i < _nbOrders; i++)
            {
                handler.AddIntItem(_colors[i]);
            }
            handler.EndArray();
            handler.EndElement();
        }
예제 #3
0
            public override void CustomRead()
            {
                OplDataHandler handler = DataHandler;

                // initialize the int 'simpleInt'
                handler.StartElement("anInt");
                handler.AddIntItem(3);
                handler.EndElement();

                // initialize the int array 'simpleIntArray'
                handler.StartElement("anIntArray");
                handler.StartArray();
                handler.AddIntItem(1);
                handler.AddIntItem(2);
                handler.AddIntItem(3);
                handler.EndArray();
                handler.EndElement();

                // initialize int array indexed by float 'anArrayIndexedByFloat'
                handler.StartElement("anArrayIndexedByFloat");
                handler.StartIndexedArray();
                handler.SetItemNumIndex(2.0);
                handler.AddIntItem(1);
                handler.SetItemNumIndex(2.5);
                handler.AddIntItem(2);
                handler.SetItemNumIndex(1.0);
                handler.AddIntItem(3);
                handler.SetItemNumIndex(1.5);
                handler.AddIntItem(4);
                handler.EndIndexedArray();
                handler.EndElement();

                // initialize int array indexed by string 'anArrayIndexedByString'
                handler.StartElement("anArrayIndexedByString");
                handler.StartIndexedArray();
                handler.SetItemStringIndex("idx1");
                handler.AddIntItem(1);
                handler.SetItemStringIndex("idx2");
                handler.AddIntItem(2);
                handler.EndIndexedArray();
                handler.EndElement();

                // initialize a tuple in the order the components are declared
                handler.StartElement("aTuple");
                handler.StartTuple();
                handler.AddIntItem(1);
                handler.AddNumItem(2.3);
                handler.AddStringItem("not named tuple");
                handler.EndTuple();
                handler.EndElement();

                // initialize a tuple using tuple component names.
                handler.StartElement("aNamedTuple");
                handler.StartNamedTuple();
                handler.SetItemName("f");
                handler.AddNumItem(3.45);
                handler.SetItemName("s");
                handler.AddStringItem("named tuple");
                handler.SetItemName("i");
                handler.AddIntItem(99);
                handler.EndNamedTuple();
                handler.EndElement();

                // initialize the tuple set 'simpleTupleSet'
                handler.StartElement("aTupleSet");
                handler.StartSet();
                // first tuple
                handler.StartTuple();
                handler.AddIntItem(1);
                handler.AddNumItem(2.5);
                handler.AddStringItem("a");
                handler.EndTuple();
                // second element
                handler.StartTuple();
                handler.AddIntItem(3);
                handler.AddNumItem(4.1);
                handler.AddStringItem("b");
                handler.EndTuple();
                handler.EndSet();
                handler.EndElement();

                // initialize element 3 and 2 of the tuple array 'simpleTupleArray' in that particular order
                handler.StartElement("aTupleArray");
                handler.StartIndexedArray();
                // initialize 3rd cell
                handler.SetItemIntIndex(3);
                handler.StartTuple();
                handler.AddIntItem(1);
                handler.AddNumItem(2.5);
                handler.AddStringItem("a");
                handler.EndTuple();
                // initialize second cell
                handler.SetItemIntIndex(2);
                handler.StartTuple();
                handler.AddIntItem(3);
                handler.AddNumItem(4.1);
                handler.AddStringItem("b");
                handler.EndTuple();
                handler.EndIndexedArray();
                handler.EndElement();

                // initialize int array indexed by tuple set 'anArrayIndexedByTuple'
                handler.StartElement("anArrayIndexedByTuple");
                handler.StartIndexedArray();
                handler.StartItemTupleIndex();
                handler.AddIntItem(3);
                handler.AddNumItem(4.1);
                handler.AddStringItem("b");
                handler.EndItemTupleIndex();
                handler.AddIntItem(1);
                handler.EndIndexedArray();
                handler.EndElement();

                // initialize a 2-dimension int array 'a2DIntArray'
                handler.StartElement("a2DIntArray");
                handler.StartArray();
                for (int i = 1; i <= 2; i++)
                {
                    handler.StartArray();
                    for (int j = 1; j <= 3; j++)
                    {
                        handler.AddIntItem(i * 10 + j);
                    }
                    handler.EndArray();
                }
                handler.EndArray();
                handler.EndElement();
            }