javolution.io
Class Union

Object
  extended by Struct
      extended by Union

public abstract class Union
extends Struct

This class represents a C/C++ union; it works in the same way as Struct (sub-class) except that all members are mapped to the same location in memory.

Here is an example of C union:

     union Number {
         int   asInt;
         float asFloat;
         char  asString[12];
     };
And its Java equivalent:
     public class Number extends Union {
         Signed32   asInt    = new Signed32();
         Float32    asFloat  = new Float32();
         Utf8String asString = new Utf8String(12);
     }
As for any Struct, fields are directly accessible:
     Number num = new Number();
     num.asInt.set(23);
     num.asString.set("23"); // Null terminated (C compatible)
     float f = num.asFloat.get();

Version:
1.0, October 4, 2004
Author:
Jean-Marie Dautelle

Nested Class Summary
 
Nested classes/interfaces inherited from class Struct
Struct.BitField, Struct.Bool, Struct.Enum16<T extends Enum>, Struct.Enum32<T extends Enum>, Struct.Enum64<T extends Enum>, Struct.Enum8<T extends Enum>, Struct.Float32, Struct.Float64, Struct.Member, Struct.Reference32<S extends Struct>, Struct.Reference64<S extends Struct>, Struct.Signed16, Struct.Signed32, Struct.Signed64, Struct.Signed8, Struct.Unsigned16, Struct.Unsigned32, Struct.Unsigned8, Struct.UTF8String
 
Field Summary
 
Fields inherited from class Struct
MAXIMUM_ALIGNMENT
 
Constructor Summary
Union()
          Default constructor.
 
Method Summary
 boolean isUnion()
          Returns true.
 
Methods inherited from class Struct
address, array, array, array, array, array, array, array, byteOrder, getByteBuffer, getByteBufferPosition, inner, isPacked, outer, read, readBits, setByteBuffer, setByteBufferPosition, size, toString, write, writeBits
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Union

public Union()
Default constructor.

Method Detail

isUnion

public final boolean isUnion()
Returns true.

Overrides:
isUnion in class Struct
Returns:
true
See Also:
Union


Copyright © 2005-2012 Javolution. All Rights Reserved.