rosidl_parser.definition.type

Define IDL types.
All types are class but can be calculated hash and compared like struct.
abstract class AbstractType;
AbstractType
All subclasses override toString, toHash and opEquals.
abstract class AbstractNestableType: rosidl_parser.definition.type.AbstractType;
AbstractNestableType
class BasicType: rosidl_parser.definition.type.AbstractNestableType;
BasicType
The following identifiers will be BasicType (comes from rosidl_parser.definition.identifier.basicTypes)
  • short
  • long
  • long long
  • unsined short
  • unsigned long
  • unsigned long long
  • float
  • double
  • long double
  • char
  • wchar
  • boolean
  • octet
  • int8
  • int16
  • int32
  • int64
  • uint8
  • uint16
  • uint32
  • uint64
const const(string) name;
Typename (e.g. boolean)
this(in string name);
class NamedType: rosidl_parser.definition.type.AbstractNestableType;
NamedType
NamedType is a type which is neither BasicType nor NamespecedType. (e.g. boolean__3)
const const(string) name;
Typename
this(in string name);
class NamespacedType: rosidl_parser.definition.type.AbstractNestableType;
NamespacedType
NamespacedType is a type who has namespace. To extract namespace, the identifier must have at least two sub identifiers separated by ::, or must be constructed with namespaces like module. (e.g. pkgname::msg::MyMessage)
const(string)[] namespaces;
Namespace (e.g. [pkgname, msg])
const const(string) name;
Typename (e.g. MyMessage)
this(in string[] namespaces, in string name);
const auto joinedName(in string sep = "::");
Get a fullname joined by sep.
Parameters:
string sep Separator
Returns: Joined name
abstract class AbstractGenericString: rosidl_parser.definition.type.AbstractNestableType;
AbstractGenericString
abstract class AbstractString: rosidl_parser.definition.type.AbstractGenericString;
AbstractString
class BoundedString: rosidl_parser.definition.type.AbstractString;
BoundedString
String with maximumSize
const const(string) maximumSize;
Maximum size of the string
this(in string maximumSize);
class UnboundedString: rosidl_parser.definition.type.AbstractString;
UnboundedString
String without capacity
abstract class AbstractWString: rosidl_parser.definition.type.AbstractGenericString;
AbstractWString
class BoundedWString: rosidl_parser.definition.type.AbstractWString;
BoundedWString
Wide String with maximumSize
const const(string) maximumSize;
Maximum size of the string
this(in string maximumSize);
class UnboundedWString: rosidl_parser.definition.type.AbstractWString;
UnboundedWString
Wide String without capacity
abstract class AbstractNestedType: rosidl_parser.definition.type.AbstractType;
AbstractNestedType
NestedType will hold the other NestableType.
const const(AbstractNestableType) valueType;
Value type
this(in AbstractNestableType valueType);
class ArrayType: rosidl_parser.definition.type.AbstractNestedType;
ArrayType
Array type will be a static array
string size;
Size of array
this(in AbstractNestableType valueType, in string size);
abstract class AbstractSequence: rosidl_parser.definition.type.AbstractNestedType;
AbstractSequence
AbstractSequence will be a dynamic array
this(in AbstractNestableType valueType);
class BoundedSequence: rosidl_parser.definition.type.AbstractSequence;
BoundedSequence
BoundedSequence is a dynamic array but has capacity maximumSize.
string maximumSize;
Maximum size of the sequence.
this(in AbstractNestableType valueType, in string maximumSize);
class UnboundedSequence: rosidl_parser.definition.type.AbstractSequence;
UnboundedSequence
UnboundedSequence is a dynamic array without capacity.
this(in AbstractNestableType valueType);