IBM MQ C++ classes

The IBM MQ C++ classes encapsulate the IBM MQ Message Queue Interface (MQI). There is a single C++ header file, imqi.hpp, which covers all of these classes.

For each class, the following information is shown:

    Class hierarchy diagram
    A class diagram showing the class in its inheritance relation to its immediate parent classes, if any.

    Other relevant classes
    Document links to other relevant classes, such as parent classes, and the classes of objects used in method signatures.

    Object attributes
    Attributes of the class. These are in addition to those attributes defined for any parent classes. Many attributes reflect IBM MQ data-structure members (see C++ and MQI cross-reference ). For detailed descriptions, see Attributes of objects.

    Constructors
    Signatures of the special methods used to create an object of the class.

    Object methods (public)
    Signatures of methods that require an instance of the class for their operation, and that have no usage restrictions.

Where it applies, the following information is also shown:

    Class methods (public)
    Signatures of methods that do not require an instance of the class for their operation, and that have no usage restrictions.

    Overloaded (parent class) methods
    Signatures of those virtual methods that are defined in parent classes, but exhibit different, polymorphic, behavior for this class.

    Object methods (protected)
    Signatures of methods that require an instance of the class for their operation, and are reserved for use by the implementations of derived classes. This section is of interest only to class writers, as opposed to class users.

    Object data (protected)
    Implementation details for object instance data available to the implementations of derived classes. This section is of interest only to class writers, as opposed to class users.

    Reason codes
    MQRC_* values (see API reason codes ) that can be expected from those methods that fail. For an exhaustive list of reason codes that can occur for an object of a class, consult the parent class documentation. The documented list of reason codes for a class does not include the reason codes for parent classes.

Note:

  1. Objects of these classes are not thread-safe. This ensures optimal performance, but take care not to access any object from more than one thread.
  2. It is recommended that, for a multithreaded program, a separate ImqQueueManager object is used for each thread. Each manager object must have its own independent collection of other objects, ensuring that objects in different threads are isolated from one another.
The classes are: