- Main Page
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# Mers::Utils::Lang::Object Class Reference

`#include <Object.h>`

Inheritance diagram for Mers::Utils::Lang::Object:

[legend]
List of all members.

## Public Types
enum | ObjectType { BMAssignment = 0, BMClause = 1, BMSentence = 2, BMDomain = 3, BMVariable = 4, BMValue = 5, BMDynamicArray = 6, BMModel = 7, oHCAAutomaton = 8, oHCATimeConstraint = 9, oHCATransition = 10, oMarkedAutomaton = 11, oHCAFunctionCall = 12, oGIState = 13, oGIEntry = 14, oGoalInterpreter = 15, oString = 16, oRTAPIMessage = 17, oCommandCallback = 18, oCCAAutomaton = 19, oCCAState = 20, oCCATransition = 21, oHaDMoReDependencyHyperedge = 22, oHaDMoReDependencyNode = 23, oDispatcherPair = 24, Unknown = -1, BMAssignment = 0, BMClause = 1, BMSentence = 2, BMDomain = 3, BMVariable = 4, BMValue = 5, BMVector = 6, BMModel = 7, oHCAAutomaton = 8, oHCATimeConstraint = 9, oHCATransition = 10, oMarkedAutomaton = 11, oHCAFunctionCall = 12, oGIState = 13, oGIEntry = 14, oGoalInterpreter = 15, oString = 16, oRTAPIMessage = 17, oCommandCallback = 18, oCCAAutomaton = 19, oCCAState = 20, oCCATransition = 21, oHaDMoReDependencyHyperedge = 22, oHaDMoReDependencyNode = 23, oDispatcherPair = 24 }
## Public Member Functions
| Object (ObjectType myType=Unknown)
virtual | ~Object ()
ObjectType | getObjectType () const
virtual Object * | duplicate () const
virtual void | print (std::ostream &out) const =0
## Static Public Member Functions
static char const * | objectTypeToString (ObjectType objType)

## Detailed Description

Basic class that defines printing and duplication capabilities for its derived classes.

Todo:
  Merge this class with BaseModelObject

Author:
  Paul Elliott

  Stanislav Funiak

Definition at line 77 of file Object.h.

## Member Enumeration Documentation

enum Mers::Utils::Lang::Object::ObjectType

The types of some classes that inherit from Object. If you add a type, add it to the objectTypeToString() function.

Deprecated:
  The use of ObjectType is deprecated. If necessary, use type constants at a lower level in your own classes or think about removing type numbering completely through software design techniques, such as the Visitor pattern.

Definition at line 89 of file Object.h.

## Constructor & Destructor Documentation

Object::Object | ( | ObjectType | myType = `Unknown` | ) |

Basic constructor.

Parameters:

  | myType | the object type to set this object to

Deprecated:
  ObjectType is deprecated.

Definition at line 30 of file Object.cpp.

Object::~Object | ( |  | ) | `[virtual]`

Destructor. The destructors in the subclasses will be automatically considered virtual (whether they are declared or not). See http://www.parashift.com/c++-faq-lite/virtual-functions.html#faq-20.6

Definition at line 36 of file Object.cpp.

## Member Function Documentation

char const * Object::objectTypeToString | ( | ObjectType | objType | ) | `[static]`

Returns the string representation of the object type.

Parameters:

  | objType | the ObjectType that is being converted into a string

Returns:
  the string equivalent of the ObjectType enumerated type

Deprecated:
  ObjectType is deprecated.

Definition at line 43 of file Object.cpp.

Object::ObjectType Object::getObjectType | ( |  | ) | const

Returns the generic type of this object.

Returns:
  the ObjectType of this object

Deprecated:
  ObjectType is deprecated.

Definition at line 105 of file Object.cpp.

Object * Object::duplicate | ( |  | ) | const`[virtual]`

Returns a copy of this object if the object can be copied. Otherwise, throws an UnsupportedOperationException. By default, throws the exception.

Returns:
  a pointer to a copy of this object

Todo:
  Sometimes not clear during runtime, which object does not support duplicate().

Reimplemented in Mers::Utils::Containers::Vector< T * >.

Definition at line 112 of file Object.cpp.

virtual void Mers::Utils::Lang::Object::print | ( | std::ostream & | out | ) | const`[pure virtual]`

Called to print this object to the specified ostream. Derived classes must define this method.

Parameters:

  | out | the ostream to print this object information to

Implemented in Mers::Utils::Containers::Vector< T * >.

Referenced by Mers::Utils::Lang::operator<<().

The documentation for this class was generated from the following files:

- /Users/fpy/titan-1-5-MBARI/Mers/Utils/Lang/Object.h
- /Users/fpy/titan-1-5-MBARI/Mers/Utils/Lang/Object.cpp