Beispiel #1
0
        // trick to apply 'virtual out..' on remaining C++ object, that has a function "ArchiveOUT"
        public void outs <T>(ChNameValue <T> bVal)
        {
            bool tracked = false;
            int  obj_ID  = 0;

            /* if (bVal.flags() & NVP_TRACK_OBJECT)
             * {
             *   bool already_stored = false;
             *   T mptr = bVal.value();
             *   PutPointer(mptr, ref already_stored, ref obj_ID);
             *   if (already_stored)
             *   { throw (ChExceptionArchive("Cannot serialize tracked object '" + string(bVal.name()) + "' by value, AFTER already serialized by pointer.")); }
             *   tracked = true;
             * }
             * ChValueSpecific<T> specVal(bVal.value(), bVal.name(), bVal.flags());
             * this.outs(
             *   specVal,
             *   tracked,
             *   obj_ID);*/
        }
Beispiel #2
0
        /// Operator to allow easy serialization as   myarchive << mydata;

        public ChArchiveOut shiftleft <T>(ChNameValue <T> bVal) where T : unmanaged
        {
            this.outs(bVal);
            return(this);
        }
Beispiel #3
0
 public abstract void outs(ChNameValue <ulong> bVal);
Beispiel #4
0
 // public abstract void outs(ChNameValue<ulong ulong> bVal);
 public abstract void outs(ChNameValue <ChEnumMapperBase> bVal);
Beispiel #5
0
 public abstract void outs(ChNameValue <uint> bVal);
Beispiel #6
0
 public abstract void outs(ChNameValue <string> bVal);
Beispiel #7
0
 public abstract void outs(ChNameValue <char> bVal);
Beispiel #8
0
 public abstract void outs(ChNameValue <float> bVal);
Beispiel #9
0
 public abstract void outs(ChNameValue <double> bVal);
Beispiel #10
0
        //---------------------------------------------------
        // INTERFACES - to be implemented by children classes
        //

        // for integral types:
        public abstract void outs(ChNameValue <bool> bVal);
Beispiel #11
0
 public ChNameValue(ChNameValue <T> other)
 {
     _name  = other._name;
     _value = other._value;
     _flags = other._flags;
 }