# Componere\cast

(Componere 2 >= 2.1.2)

Componere\cast — Casting

### Description

Componere\cast ( Type `$type` , `$object` ) : Type

### Parameters

`type`

  A user defined type

`object`

  An object with a user defined type compatible with Type

### Return Values

An object of type Type, cast from `object`

### Exceptions

Warning

Shall throw InvalidArgumentException if the type of `object` is or is derived from an internal class

Warning

Shall throw InvalidArgumentException if Type is an interface

Warning

Shall throw InvalidArgumentException if Type is a trait

Warning

Shall throw InvalidArgumentException if Type is an abstract

Warning

Shall throw InvalidArgumentException if Type is not compatible with the type of `object`

### See Also

- Componere\cast_by_ref