---
title: "metaCast(const OSMetaClass *)"
framework: kernel
role: pseudoSymbol
path: kernel/osmetaclassbase/1808082-metacast
---

# metaCast(const OSMetaClass *)

Casts this object is to the class managed by the given OSMetaClass.

## Declaration

```occ
OSMetaClassBase * metaCast(
 const OSMetaClass *toMeta) const; 
```

## Parameters

- `toMeta`: A pointer to a constant OSMetaClass for the desired target type.

## Return Value

Return Value this if the object is derived from the class managed by toMeta, otherwise NULL.

## Overview

Overview It is far more convenient to use OSDynamicCast.

## See Also

### Miscellaneous

- [OSCheckTypeInst](kernel/oschecktypeinst.md)
- [OSDynamicCast](kernel/osdynamiccast.md)
- [OSMemberFunctionCast](kernel/osmemberfunctioncast.md)
- [OSSafeRelease](kernel/ossaferelease.md)
- [OSSafeReleaseNULL](kernel/ossafereleasenull.md)
- [OSTypeAlloc](kernel/ostypealloc.md)
- [OSTypeID](kernel/ostypeid.md)
- [OSTypeIDInst](kernel/ostypeidinst.md)
- [checkTypeInst](kernel/osmetaclassbase/1808042-checktypeinst.md)
- [getMetaClass](kernel/osmetaclassbase/1808051-getmetaclass.md)
- [getRetainCount](kernel/osmetaclassbase/1808060-getretaincount.md)
- [isEqualTo](kernel/osmetaclassbase/1808069-isequalto.md)
- [metaCast(const char *)](kernel/osmetaclassbase/1808075-metacast.md)
- [metaCast(const OSString *)](kernel/osmetaclassbase/1808090-metacast.md)
- [metaCast(const OSSymbol *)](kernel/osmetaclassbase/1808095-metacast.md)
- [release()](kernel/osmetaclassbase/1808103-release.md)
- [release(int)](kernel/osmetaclassbase/1808109-release.md)
- [retain](kernel/osmetaclassbase/1808117-retain.md)
- [safeMetaCast](kernel/osmetaclassbase/1808126-safemetacast.md)
- [serialize](kernel/osmetaclassbase/1808135-serialize.md)
- [taggedRelease(const void *)](kernel/osmetaclassbase/1808142-taggedrelease.md)
- [taggedRelease(const void *, const int)](kernel/osmetaclassbase/1808151-taggedrelease.md)
- [taggedRetain](kernel/osmetaclassbase/1808161-taggedretain.md)
